题目描述
世界上没有两片完全相同的树叶,同样的,KFC也没有两个完全相同的原味鸡。而duxing哥是一个非常讲究的人,面对一个原味鸡,自己总是能说出这是第X级的原味鸡。可是duxing哥有点不满意,他希望知道这个原味鸡的美味值是多少。经过研究,他发现第X级的原味鸡美味值=第x-1级的原味鸡的美味值1+第x-2级的原味鸡的美味值2+…+第1级原味鸡美味值*(x-1)。也就是:设第x级的原味鸡美味值是fx,那么fx=∑i=1x-1(x-i)*fi。
当然了,这一切需要一个基准,duxing哥把第1级的原味鸡美味值定为1,即f1=1
可是这个计算对于duxing哥来说太麻烦了,所以他把这个任务交给了你,给你一个x,问你第x级原味鸡美味值是多少?
输入
一个数x(1<=x<=40)
输出
一个数,表示第x的原味鸡美味值
样例输入
【输入样例1】
2
【输入样例2】
7
样例输出
【输出样例1】
1
【输出样例2】
144
#include<stdio.h>
long long f(int n);
int main()
{
int x;
while(scanf("%d",&x)!=EOF)
{
printf("%lld\n",f(x));
}
}
long long f(int n)
{
long long t,i,j,a[1000];
for(j=1;j<=n;j++)
{
if(j==1)
{
a[j]=1;
}
else
{
t=0;
for(i=j-1;i>=1;i--)
{
t=t+a[i]*(j-i);
}
a[j]=t;
}
}
return a[n];
}