一.题目描述
F[i] = i (i <= 3);
F[i] = F[i-1] + F[i-2] + F[i-3](i >= 4);
输入一个n,计算F[n].
二.思路描述
此题就是将小于等于三的,和大于三的分开,运用递归的思想即可。
三.代码描述
#include<iostream>
using namespace std;
int main()
{
int f[1000],n,i,j;
while(cin>>n)
{
for(i=0;i<=3;i++)
{
f[i]=i;
}
for(j=4;j<=n;j++)
{
f[j]=f[j-1]+f[j-2]+f[j-3];
}
cout<<f[n]<<endl;
}
return 0;
}
四.感受
此题很基础,就是让人理解递归的基本运行理念。