斐波那契数定义:
- F(0)=0
- F(1)=1
3.F(n )=F(n-1)+F(n-2)(n>1且n是整数)
列出斐波那契数为:
0 1 1 2 3 5 8 13 21 34……
如果求第6项,则应该为8.
输入描述:
输入数据含有不多于50个的正整数n(0<=n<=46).
输出描述:
对于每个你,计算出n项斐氏数,每个结果独占一行
输入样例:
6 10
输出样例:
8
55
注意:先把0到46项的斐波那契数求出来放在一个表(或者一个数组)中,然后直接查表即可,这样就不会超时
这里是表(vector)
#include<iostream>
#include<vector>
using namespace std;
int main(int argc ,char *argv[]){
vector<unsigned int >v;
unsigned int n;
//先建表,把0~46项斐波那契数都算出来
v.push_back(0);
v.push_back(1);
for(int i=2;i<=46;i++){
v.push_back(v[i-1]+v[i-2]);
}
while(cin>>n){
cout<<v[n]<<endl;
}
return 0;
}