/*
*/
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
using namespace std;
const int N = 46;
int f[N];
int n;
int main()
{
cin >> n;
f[0] = 0;
f[1] = 1;
for(int i = 2; i < n; i++)
{
f[i] = f[i - 1] + f[i - 2];
}
for(int i = 0; i < n; i++) cout << f[i] << " ";
puts("");
return 0;
}
2.递归(TLE)
/*
*/
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
using namespace std;
const int N = 46;
int num;
int f(int n)
{
if(n == 0) return 0;
if(n == 1) return 1;
return f(n - 1) + f(n - 2);
}
int main()
{
cin >> num;
for(int i = 0; i < num; i++) cout << f(i) << " ";
cout << endl;
return 0;
}
3.滚动数组(节约空间)
/*
*/
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
using namespace std;
int main()
{
int n;
cin >> n;
int a = 0, b = 1;
for(int i = 1; i <= n; i++)
{
cout << a << ' ';
int c = a + b;
a = b, b = c;
}
return 0;
}