您的位置:

c语言猴吃桃子,c语言猴子吃桃子

本文目录一览:

用C语言解决猴子吃桃问题!!!

#include

iostream.h

void

main()

{

int

day,n1,n2;

day=9;

n2=1;

//n2表示剩下的桃子

while(day0)

{

n1=(n2+1)*2;

n2=n1;

day--;

}

printf(“%d\n”,n2);

}

第二种方法

#include

stdio.h

void

main()

{

int

day,sum=1;

for(day=1;day=9;day++)

//剩一个桃子是从第九天剩下的,所以要算九次

sum=(sum+1)*2;

printf("%d\n",sum);

}

第三种:

#includestdio.h

main()

{

int

day=9,n=1;

while(day--0)

n=(++n)*2;

/*第1天的桃子数是第2天桃子数加1后的2倍*/

printf("%d",n);

}

第四中方法:

#include

"stdio.h"

main()

{

int

day,m,n;

for(n=2;;n++)

{

m=n;

for(day=1;day10;day++)

m=m/2-1;

/*m为吃剩下的桃*/

if(m==1)

/*第十天,剩下一个*/

break;

}

printf("第一天摘下的桃子数:%d\n",n);

/*n为符合条件的*/

}

C语言的猴子吃桃代码怎么写?

#include stdio.h

main()

{

int day,x1,x2;

day=9; //这里假设n=9,你总要给一个n的,不然没有办法计算

x2=1; //第九天早上还有1个桃

while(day0)

{

x1=(x2+1)*2; //第8天吃了第7天剩下的一半多一个

//那第八天剩下的再加上1就是第8天原来的一半

//然后再乘以2既第八天原来的(也就是第7天剩的)

x2=x1; //让x2是第八天的桃的数量

//下一轮循环计算第七天原来有多少桃

day--;

}

printf("the total is %d\n",x1);

}

c语言猴子吃桃子问题怎么做?

1、打开visual C++ 6.0-文件-新建-文件-C++ Source File

2、题目:猴子吃桃:猴子第1天摘下若干个桃子,当即吃掉一半多1个桃子,第2天早上又将剩下的桃子吃掉一半多1个,以后每天都吃掉前天一半多1个,到第10天早上只剩下一个桃子,求第1天猴子到底摘子多少个桃子?

3、输入预处理命令和主函数:

#includestdio.h          /*输入输出头文件*/

void main()           /*空类型:主函数*/

4、定义变量、确定天数和每天桃子的数量:

int a,b=1;           /*定义变量的数据类型为整型*/

for(a=1;a=9;a++)          /*确定天数*/

b=(b+1)*2;          /*计算从第10天到第1天每天桃子的数量*/

5、输出第1天桃子的数量:

printf("第一天摘了%d个桃子\n",b);         /*输出第1天桃子的数量*/

6、完整的源代码:

/*                猴子吃桃

猴子第1天摘下若干个桃子,当即吃掉一半多1个桃子,第2天早上又将剩下的桃子吃掉一半多1个,以后每天都吃掉前天一半多1个,到第10天早上只剩下一个桃子,求第1天猴子到底摘子多少个桃子?*/

#includestdio.h          /*输入输出头文件*/

void main()            /*空类型:主函数*/

{

int a,b=1;           /*定义变量的数据类型为整型*/

for(a=1;a=9;a++)          /*确定天数*/

b=(b+1)*2;          /*计算从第10天到第1天每天桃子的数量*/

printf("第一天摘了%d个桃子\n",b);         /*输出第1天桃子的数量*/

}

请用C语言编写一个程序,“猴子吃桃”问题

如果真是吃到了第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 个桃子。

C语言猴子吃桃

#include stdio.h

int main(void)

{

int i, peach;

peach=1;

scanf("%d",i);

while(i1)

{

i--;

peach=(peach+1)*2;

}

printf("%d\n", peach);

}

程序如上,

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

例如:你输入

10

结果是

1534

你说的

1023

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

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