如何用C++编一个算斐波那契数列的程序?

来源:百度知道 编辑:UC知道 时间:2024/05/30 20:59:34
如题,谢谢各位!

f1=1
f2=1
for(i=1;i<n;i++)
{
f1=f1+f2
f2=f1+f2
cout<<f1<<f2;
}
大致思路是这样的

你要算斐波那契数列的所有数还是某一项?

求所有的话只有O(n)的算法。
算某一项的话有O(log(n))的算法,就是用矩阵对乘的方法。

1 1 2 3 5 8 13...是吗

直接按照斐波那契数列定义 a[n]=a[n-1]+a[n-2]写的话
int a1=1; //定义式中a[n-1]
int a2=1; //定义式中a[n-2]
int an; //定义式中a[n]
while(true)
{
an=a1+a2;//产生新项
//这里可以添加代码显示新项或者将新项目存到一个预先定义的结构(比如数组)中
a2=a1;
a1=an;
}

就是这样