作业帮 > 综合 > 作业

C++中计算Fibonacci数列,就是兔子问题,我想问下怎么理解这个程序,

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/04/29 15:21:17
C++中计算Fibonacci数列,就是兔子问题,我想问下怎么理解这个程序,
#include
#include
using namespace std;
int main()
{
long f1,f2;
int i;
f1=f2=1;
for(i=1;i
斐波那契数列的特点是任意一项等于前两项的和,所以,我们只要知道第一项和第二项,即可算出第三项,而知道了第三项又可以算第四项.依此类推可知n项,最前面两项为 1 .
你的程序中,用 f1 代表前两项中的第一项,f2代表第二项,所以一开始被赋值为了 1 和 1 ,你的程序每次算两个裴波那契数,f1=f1+f2 算出来的即是后两项中的前项(第一次算为第三项),而原值f2和刚算出来的新的 f1是挨着的,所以他俩相加正好是要算的两项中的后项(第一次算为第四项),这个值被赋值给了 f2,所以,f1和f2 就是刚才两项的后两项,在循环进入到下一轮的时候被 cout 进行了输出.
i的作用一是控制算的个数,因为需要每输出4个数就换行,每次算两个,所以只要 i 是 2 的倍数就输出换行符 endl 即可.