斐波那契数【东北大学oj数据结构10-1】C++
编写一个程序,打印给定整数 n 的第 n 个斐波那契数。 第 n 个斐波那契数由以下递归公式定义:
f(n)={1 n=0,1;
f(n−1)+f(n−2) n>1.}
输入
给出一个整数 n。
输出
在一行中打印第 n 个斐波那契数。
约束
0≤n≤44
输入样例
3
输出样例
3
不能用递归会超时
用循环从头算
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int f(int n)
{
if(n==0||n==1)
return 1;
else
{
int a=0;
int b=1;
int r=0;
for(int i=1;i<=n;i++)
{
r=a+b;
a=b;
b=r;
}
return r;
}
}
int main() {
int n;
cin >> n;
int c;
c=f(n);
cout<<c;
return 0;
}