版权声明:转载请声明原文链接地址,谢谢! https://blog.csdn.net/weixin_42859280/article/details/84953631
题目描述
猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第N天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。
输入
N
输出
桃子总数
样例输入
10
样例输出
1534
来源/分类
C语言
题目截图:
思路:
数据进行数字演示,s=s/2-1;
反过来就是,s=2(1+s)+1!
最后一天,不会再有果子吃。
for(int i=0;i<a-1;i++)
只需要加一个果子就好!
s++;
代码:
#include<iostream>
using namespace std;
int main()
{
int a,s;
s=0;
cin>>a;
//printf("a %d\n",a);
//printf("b %.2f\n",b);
//printf("s %.2f\n\n\n",s);
for(int i=0;i<a-1;i++)
{
s=2*(1+s)+1;
//printf("a %d\n",a);
//printf("s %d\n",s);
}
s++;
printf("%d",s);
}
代码截图:
代码执行截图:
OJ结果: