本文目录一览:
用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个,应该是偶数。
上面的程序,正是你题目的逆向死维,没有用递归。