| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 10646 人关注过本帖
标题:求解猴子吃桃的问题。
只看楼主 加入收藏
liting561199
Rank: 2
等 级:论坛游民
帖 子:17
专家分:22
注 册:2015-3-24
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:14 
求解猴子吃桃的问题。
猴子摘桃:第一天摘若干,当天吃掉一半,在减去一个;第二天再吃去一半,在减一个;如此循环;到第十天就职剩下一个;问第一天摘了多少;
我想写的是:先给它一个取值范围。然后循环排除到最终想要的结果;我不知道如何处理;我只想怎么解决我这个思路
这是我写的:
程序代码:
#include<stdio.h>
int main()
{
    int x , i ;                //第一天摘x个;   天数为i
    for (x = 1 ; x < 10000 ; x++)
    {
        for(i = 1 ;i <= 10 ; i++ )
        {
           
            x =  x / 2 - 1;
   
            if(x == 1)
        }
   
    }
    printf("%d", x );   //我输出的是if里面  x=1  的结果。我想要的是循环到的正确的 x= 1534;而不是计算后的x = 1
    return 0;
}
搜索更多相关主题的帖子: 如何 
2015-04-13 15:08
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
程序代码:
#include <stdio.h>

int main()
{
    int x , i ,t;                //第一天摘x个;   天数为i
    for (x = 1 ; x < 10000 ; x++)
    {
        t=x;
        for(i = 1 ;i < 10 ; i++ )
        {

            t =  t / 2 - 1;

            
        }
        if(t == 1) break;

    }
    printf("%d", x );   //我输出的是if里面  x=1  的结果。我想要的是循环到的正确的 x= 1534;而不是计算后的x = 1
    return 0;
}


[ 本帖最后由 wp231957 于 2015-4-13 15:19 编辑 ]
收到的鲜花

DO IT YOURSELF !
2015-04-13 15:18
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
应该是小于10吧 如果是小于等于10 则答案是3070

DO IT YOURSELF !
2015-04-13 15:19
纳兰伽香
Rank: 10Rank: 10Rank: 10
来 自:北京
等 级:贵宾
威 望:10
帖 子:426
专家分:1650
注 册:2015-4-5
收藏
得分:5 
这是个递归问题而已,运用倒推。很简单可得到答案。这就叫  “逆向思维”

程序代码:
#include <stdio.h>

int main()
{
    int i,n;
    scanf("%d",&n);
    int a[n];
    a[0] = 1;
    for(i = 0;i<n;i++)
    {
        a[i+1] = 2*(a[i]+1);        
    }
    printf("%d\n",a[n-1]);

    return 0;
}


风回小院庭芜绿,柳眼春相续
2015-04-13 16:15
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:5 
回复 4楼 纳兰伽香
如果再进一步分析一下,就会得到更简单的式子
程序代码:
#include <stdio.h>
int main()
{
    int n;
    scanf("%d", &n);
    printf("%d\n", 3 * (1 << n - 1) - 2);
    return 0;
}
收到的鲜花

重剑无锋,大巧不工
2015-04-13 16:50
纳兰伽香
Rank: 10Rank: 10Rank: 10
来 自:北京
等 级:贵宾
威 望:10
帖 子:426
专家分:1650
注 册:2015-4-5
收藏
得分:0 
回复 5楼 beyondyf
啊啊啊啊啊   简洁的令人发指的代码  好强悍的逻辑   请收我为徒吧!!!!

风回小院庭芜绿,柳眼春相续
2015-04-13 16:57
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
回复 6楼 纳兰伽香
雕虫小技,不值一哂。收徒不敢当,以后多交流吧

重剑无锋,大巧不工
2015-04-13 17:01
纳兰伽香
Rank: 10Rank: 10Rank: 10
来 自:北京
等 级:贵宾
威 望:10
帖 子:426
专家分:1650
注 册:2015-4-5
收藏
得分:0 
回复 7楼 beyondyf
前几天就看了你的一个蹂躏for循环的  代码   真的是  一个字 “巧”

风回小院庭芜绿,柳眼春相续
2015-04-13 17:06
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
回复 8楼 纳兰伽香
过奖了。玩ACM形成的习惯。

重剑无锋,大巧不工
2015-04-13 17:21
纳兰伽香
Rank: 10Rank: 10Rank: 10
来 自:北京
等 级:贵宾
威 望:10
帖 子:426
专家分:1650
注 册:2015-4-5
收藏
得分:0 
回复 9楼 beyondyf
帖子我顶起来了  你帮我看看 有没有  更简单的算法
这是链接
https://bbs.bccn.net/viewthread.php?tid=443889&pid=2481580&page=1#pid2481580

风回小院庭芜绿,柳眼春相续
2015-04-13 17:25
快速回复:求解猴子吃桃的问题。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014790 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved