AcWing 717. 简单斐波那契
原题链接
中等
作者:
尼古拉斯小布丁
,
2021-03-21 09:19:04
,
所有人可见
,
阅读 323
打表法直接可以
//打表法Ac
#include <iostream>
using namespace std;
const int N = 50;
int n;
int num[N];
void shulie(){
num[1]=0;
num[2]=1;
num[3]=1;
for(int i=4;i<=46;i++){
num[i] = num[i-1] + num[i-2];
}
}
int main(){
shulie();
cin>>n;
for(int i=1;i<=n;i++)
cout<<num[i]<<" ";
return 0;
}
简单的递推写法
#include<iostream>
using namespace std;
const int N = 50;
int n;
int main(){
cin>>n;
int f[N];
f[1]=0,f[2]=1;
for(int i=3;i<=n;i++) f[i] = f[i-1]+f[i-2];
for(int i=1;i<=n;i++) cout<<f[i]<<" ";
return 0;
}
用变量保存中间数据的递推写法
#include<iostream>
using namespace std;
int n;
int main(){
cin>>n;
int a=0,b=1;
for(int i=1;i<=n;i++){
cout<<a<<' ';
int fn = a+b;
a=b,b=fn;
}
return 0;
}