问题
猴子第一天摘下N个桃子,当时就吃了一半,还不过瘾,就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第10天在想吃的时候就剩一个桃子了,求第一天共摘下来多少个桃子?
代码
#include<iostream> using namespace std; int main() { int sum=1,N,i; cin>>N; for(i=0; i<N-1; i++) { sum=3*(sum+1); } cout<<sum; return 0; }
解析:注意要从第一天开始算起的话,第二天的数量sum2=sum1/3-1,所以换算过来就是sum1=3*(sum2+1),推广到多天就是sum(n-1)=3*(sum(n)+1),由此可以用循环求出第一天的总数。
时间: 2024-12-13 21:39:29