原题链接:[编程入门]猴子吃桃的问题
解题思路:
迭代分析法
设原有x0个
day1吃完剩x1=1/2·x0-1 1个1/2 1个-1
day2吃完剩x2=1/2·x1-1=1/2·(1/2·x0-1) 2个1/2 2个-1
day3吃完剩x3=1/2·x2-1=1/2·(1/2·(1/2·x0-1)-1)-1 3个1/2 3个-1
.
.
.
dayn-1吃完剩xn-1=1/2·xn-2-1=1/2·(1/2...(1/2·x0-1)-1)...-1) n-1个1/2 n-1个-1
整理得(1/2)n-1x0-(1+1/2+1/4+...+1/2n-2)
化简得(1/2)n-1x0-(2-1/2n-2)
由题得最后一天剩余1个,(1/2)n-1x0-(2-1/2n-2)=1
解方程得x0=2n+2n-1-2
参考代码:
#include<iostream> #include<math.h> using namespace std; int main(){ int n; cin>>n; int a=pow(2,n)+pow(2,n-1)-2; cout<<a; }
0.0分
2 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复