递推递归练习 K

来源:互联网 发布:sql求和语句如何在多表 编辑:程序博客网 时间:2024/05/21 14:54

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

14

Sample Output

16



      这道题为加强版斐波那契序列,而且递推公式已经给出,没有什么难度,但是需要注意的是用long long int定义,用int定义可能会超范围。


源代码如下:

#include<bits/stdc++.h>using namespace std;int main(){ long long int n,m,i,a[21];  a[1]=0;  a[2]=1;  a[3]=2;  for(i=4;i<21;++i)   a[i]=(i-1)*(a[i-1]+a[i-2]);  while(cin>>n)  { cout<<a[n]<<endl;  }} 



0 0