Description
王小二自夸刀工不错,有人放一张大的煎饼在砧板上,问他:“饼不许离开砧板,切n(1<=n<=100)刀最多能分成多少块?”
Input
输入切的刀数n。
Output
输出为切n刀最多切的饼的块数。
Sample Input
100
Sample Output
5051
这道题不是很难,曾经在奥数或者是竞赛中找规律中有过类似的题目,把前几刀列出来便会发现其中规律,一刀可以变成1+1两部分,两刀可以变成1+1+2四部分,相当于第n刀可以切出f(n-1)+n个部分,所以递推公式就出来了,需要注意的是设置f(0)==1为第一刀做准备,下面是我的ac代码:
#include<iostream>
using namespace std;
int f(int a)
{
if(a==0)return 1;
else return f(a-1)+a;
}
int main()
{
int n;
cin>>n;
cout<<f(n);
return 0;
}
<iostream>
using namespace std;
int f(int a)
{
if(a==0)return 1;
else return f(a-1)+a;
}
int main()
{
int n;
cin>>n;
cout<<f(n);
return 0;
}