题目:
Description
对于斐波那契数列想必各位已经见过了。这里给出一个加强版。
F[i] = i (i <= 3);
F[i] = F[i-1] + F[i-2] + F[i-3](i >= 4);
Input
多组输入。每组输入一个整数n (1<= n && n <= 30)。
Output
每组数据输出一个整数,代表F[n]。
Sample Input
1 4
Sample Output
1 6
解题思路:
简单的叠加即可。
代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
long long F[1000]={0,1,2,3},i,n;
while(cin>>n)
{
if(n<1&&n>30)
break;
for(i=4;i<=n;i++)
F[i]=F[i-1]+F[i-2]+F[i-3];
cout<<F[n]<<endl;
}
return 0;
}