牛客网习题之牛妹的蛋糕
程序员文章站
2022-06-07 15:50:15
...
简单分析题目:
已知第n天的时候还剩一个蛋糕,假设第n-1天 也就是前一天有x个蛋糕 那么 x-x*(1/3)-1=1 右边的1是后一天的数目 所以x=2*3/2=3
所以递推得到假设算出第n天还剩n个蛋糕 那么前一天就是(n+1)*3/2
当然改成递归的形式也可以
#include<iostream>
using namespace std;
//方法二 使用递归
int fun(int n){
if(n==1)
return 1;
else
return (fun(n-1)+1)*3/2;
}
int main(void){
//方法1 递推
int n;
cin>>n;
int num=1;
for(int i=1;i<n;i++)
{
num=(1+num)*3/2;
}
cout<<num<<endl;
cout<<fun(n)<<endl;
}