当前位置:   article > 正文

C++实现Fibonacci数列_编程实现求fibonacci数列第20个数,这个数列第1个数为1,第2个数为1,从第3个数

编程实现求fibonacci数列第20个数,这个数列第1个数为1,第2个数为1,从第3个数

C++实现Fibonacci数列

C++实现Fibonacci数列前20个数。这个数列有如下特点:第1,2两个数都为1,1从第3个数开始,该数前面两个数之和。即为:
F1=1(n=1)
F2=1(n=2)
F n F_n Fn= F n − 1 F_{n-1} Fn1+ F n − 2 F_{n-2} Fn2(n≥3)

解题思路:

这个是一个很有趣的古典数学问题:有一对兔子,从出生后第三个月起每个月都生一对小兔子。小兔子长到第3个月后又生一对兔子。假设所有兔子都不死,问每个月的兔子总数为多少?

第几个月小兔子对数中兔子对数老兔子对数兔子总数
11001
20101
31012
41113
52125
63238
753513

不满1个月的为小兔子,满1个月不满2个月的为中兔子,满3个月以上的为老兔子。可以看到每个月兔子的总数依次为1,1,2,3,5,8,13…这就是Fibonacci数列。

编写程序:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	long int f1=1, f2=1;
	int i;
	for ( i = 1; i <=20; i++)//每次输出两个数,故循环40÷2=20次
	{
		cout << setw(12) << f1 << setw(12) << f2;//设备输出的字段宽带为12
		if (i % 2 == 0)cout << endl;
		f1 = f1 + f2;//等号左边的f1代表第3个数,是第1个第2个数之和
		f2 = f1 + f2;//等号左边的f2代表第4个数,是第2个第3个数之和
	}
	system("pause");
	return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

运行结果

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/434136
推荐阅读
相关标签
  

闽ICP备14008679号