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
心得:
对于斐波那契数列想必各位已经见过了。这里给出一个加强版。
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
解题思路:
按照题目所给的公式,采用for循环,将31以内的表示出来,再输出想要的结果即可。
解题细节:
可以使用for循环,注意i<=3时的情况。
代码:
#include <iostream>
using namespace std;
int main()
{
int i,n;
int f[31];
f[1]=1;f[2]=2;f[3]=3;
for(i=4;i<31;i++)
{
f[i]=f[i-1]+f[i-2]+f[i-3];
}
while(cin>>n)
{
cout<<f[n]<<endl;
}
return 0;
}
心得:
题目较为简单,只要按部就班即可。