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

Python019

c语言猴子吃桃子问题怎么做?,第1张

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

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

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

#include<stdio.h>         /*输入输出头文件*/

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

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

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

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

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

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

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

6、完整的源代码:

/*                猴子吃桃

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

#include<stdio.h>          /*输入输出头文件*/

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

{

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

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

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

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

}

#include \x0d\x0amain()\x0d\x0a{\x0d\x0a int day,x1,x2 \x0d\x0a day=9//这里假设n=9,你总要给一个n的,不然没有办法计算\x0d\x0a x2=1 //第九天早上还有1个桃\x0d\x0a while(day>0)\x0d\x0a {\x0d\x0ax1=(x2+1)*2//第8天吃了第7天剩下的一半多一个\x0d\x0a //那第八天剩下的再加上1就是第8天原来的一半\x0d\x0a //然后再乘以2既第八天原来的(也就是第7天剩的)\x0d\x0ax2=x1 //让x2是第八天的桃的数量\x0d\x0a //下一轮循环计算第七天原来有多少桃\x0d\x0aday-- \x0d\x0a }\x0d\x0a printf("the total is %d\n",x1) \x0d\x0a}

#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个,应该是偶数。

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