duxing201606很快乐-------递归

题目描述

世界上没有两片完全相同的树叶,同样的,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];
}
发布了37 篇原创文章 · 获赞 3 · 访问量 1193

猜你喜欢

转载自blog.csdn.net/qq_45721778/article/details/103830021