C语言猴子吃桃

C语言猴子吃桃,第1张

#include <stdio.h>

int main(void)

{

int i, peach

peach=1

scanf("%d",&i)

while(i>1)

{

i--

peach=(peach+1)*2

}

printf("%d\n", peach)

}

程序如上,

你可以输入第i天发现桃子数为1.

例如:你输入

10

结果是

1534

你说的

1023

肯定是不对的,因为它都是一半后多吃1个,应该是偶数。

上面的程序,正是你题目的逆向死维,没有用递归。

1、首先在电脑中打开vc6.0,新建一个项目,添加头文件,如下图所示。

2、接着添加main主函数,如下图所示。

3、然后定义day、x1、x2,如下图所示。

4、接着初始day、x2,然后使用while循环。

5、最后使用printf打印,运行程序看看结果,猴子吃桃问题就完成了。

如果真是吃到了第10天,我想说这TMD还是猴子吗?第一天就会撑死!

C代码在线运行工具

#include <stdio.h>

 

int main()

{

    int day = 10

    int sum = 0

    int i = 0

     

    sum = 1

    for (i = day i >= 1 i--)    //吃之后算法

    {

        sum = (sum + 1) * 2

    }

    printf("第 %d 天吃之后还剩1个,最初有 %d 个桃子,", day, sum)

    printf("第 1 天吃了 %d 个桃子;\r\n", sum / 2 + 1)

     

    sum = 1

    for (i = day-1 i >= 1 i--)  //吃之前算法

    {

        sum = (sum + 1) * 2

    }

    printf("第 %d 天吃之前还剩1个,最初有 %d 个桃子,", day, sum)

    printf("第 1 天吃了 %d 个桃子。\r\n", sum / 2 + 1)

     

    return 0

}

第 10 天吃之后还剩1个,最初有 3070 个桃子,第 1 天吃了 1536 个桃子;

第 10 天吃之前还剩1个,最初有 1534 个桃子,第 1 天吃了 768 个桃子。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12078082.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存