时间限制: 1000 ms 空间限制: 262144 KB 具体限制
题目描述
输入n,编写程序输出斐波那契数列的第n项。其中斐波那契数列f(n)的定义如下:
f(1)=0,f(2)=1
f(n)=f(n-1)+f(n-2)(n>=2)
输入
一行一个正整数n。
输出
输出一个数f(n)。
样例输入
5
样例输出
3
数据范围限制
1<=n<=30
题记:
斐波那契数列模板,值得保存一下。
C++程序如下:
#include <iostream>
using namespace std;
long fib(int n){
long f1=0, f2=1, temp;
int i;
if(n == 1)
return 0;
if(n == 2)
return 1;
for(i=3; i<=n; i++) {
temp = f1 + f2;
f1 = f2;
f2 = temp;
}
return f2;
}
int main(void){
int n;
cin >> n;
cout << fib(n);
return 0;
}