题目:猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。 到第N天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。
天数 | 第N天 | 第N-1天 | 第N-2天 | ....... |
原有的桃子 | 1 | 4 | 10 | ........ |
由此我们推出一个后一天的桃数和前一天桃数的一个关系式:
第N-1天的桃子数 = (第N天的桃子树+1)*2
现在来编程实现 (利用for循环就好),代码还是比较容易理解的。
include<stdio.h>
int main()
{
int peach = 1;
int i,N;
scanf("%d",&N);
for ( i = 1; i < N ; i++)
{
peach = (peach + 1)*2;
}
printf("%d\n",peach);
return 0;
}
比心,大家早点休息,晚安~~~