请问要输出几个数呢? 我这里是输出31个的,如果需要多少,把代码中对应的31改成你需要的值即可、
#include<iostream>
using namespace std;
// fib() 函数
void fib() {
int a[31] = {0};
a[0] = 1;
a[1] = 1;
for (int i = 2; i < 31 ; i++) {
a[i] = a[i-1] + a[i-2];
}
for (int i = 1; i < 31 ; i++){
cout << a[i] << endl;
}
}
int main() {
fib();
return 0;
}
主函数main呢?显示的编译错误提示是没有mian函数,你自己写一个main测试提交。
我有点菜,要不然就给你点思路和我自己写的实现Fibonacci数列的代码。
Fibonacci数列是这样的:1,1,2,3,5,8,13,21………………
他的递推公式是:f[i]=f[i-1]+f[i-2],即前一个数和前第二个数的和。
如果要写函数的话,是这样的(我自己的拙见……)
#include<bits/stdc++.h>
using namespace std;
int f(int n){
if(n<=2)return 1;
return f(n-1)+f(n-2);
}
int main()
{
int n;
cin>>n;
cout<<f(n);
return 0;
}
这里用的是递归,当然递推也可以。