原题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每一天早上都吃前一天剩下桃子的一半零一个。到第十天早上想再吃时,发现 只剩下一个桃子了。编写程序,求第一天共摘了多少个桃子?
分析思路:
首先要找出第一天的桃子和第二天的桃子数之间的关系,即第一天的桃子数是第二天桃子数加1的两倍。
接下来写代码:
#include <stdio.h> int main(void) { int day = 9 ; int n1 , n2 = 1 ; while(day > 0) { n1 = (n2 + 1 ) * 2 ; //第一天的桃子数是第二天桃子数加1的两倍 n2 = n1 ; //将值保存在n2这个变量里,下次进入循环该变量将被记录 day-- ; //从后往前推导 } printf("n1:%d\n",n1); //输出第一天桃子的总数 return 0 ; }
运行结果:
时间: 2024-11-06 07:03:51