猴子吃桃问题
有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第10天就只余下一个桃子。试问这堆桃最初有多少个?
思路:给出的是最后一天的剩余桃子数量 从最后一天往前推算 假设最后一天原有桃子数为 2N 那么当天吃掉的桃子数为 N+1 当天剩余桃子数为 N-1
由题意可得 N-1=1 则N=1+1=2 第十天原有桃子数 2N=4 以此类推
代码:
#include<stdio.h>
void main(){
int n=1;
for(int i=10;i>0;i--){ // i为天数
n++;
n*=2;
printf("猴子第%d天共有%d个桃子\n",i,n);
}
}