题目简要:
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()
{
int n,i,f[31];
while(cin>>n)
{
for(i=1;i<31;i++)
{
if(i<=3)
{
f[i]=i;
}
else
f[i]=f[i-1]+f[i-2]+f[i-3];
}
cout<<f[n]<<endl;
}
return 0;
}
解题感受:
这个加强版好像并不难,因为题目直接给出了公式,所以很水。。。。