斐波那契数列,又称黄金分割数列,因数学家莱昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”。
输入一个正整数n,1=<n<=50。输出斐波拉契数列的前N项, 斐波拉契数列:0.1.1.2.3.5.8.13.21…
提示:a[i]=a[i-1]+a[i-2]。
先定义一个长度足够的数组(50+10) 将它的第一二个元素分别赋值为0和1,之后依次是前两位和的一组递增数列。
#include <bits/stdc++.h>
using namespace std;
long long a[60], n;
int main() {
cin >> n;
a[0] = 0;
a[1] = 1;
if (n > 2) {
cout << a[0] << " " << a[1] << " ";
for (int i = 2; i < n; i++) {
a[i] = a[i - 1] + a[i - 2];
cout << a[i] << " ";
}
}
if (n == 2) {
cout << a[0] << " " << a[1] << " ";
}
if (n == 1) {
cout << a[0];
}
return 0;
}
运行结果
输入
9
输出
0 1 1 2 3 5 8 13 21