C++实现Fibonacci数列
【C++基础|C++实现Fibonacci数列】C++实现Fibonacci数列前20个数。这个数列有如下特点:第1,2两个数都为1,1从第3个数开始,该数前面两个数之和。即为:解题思路: 这个是一个很有趣的古典数学问题:有一对兔子,从出生后第三个月起每个月都生一对小兔子。小兔子长到第3个月后又生一对兔子。假设所有兔子都不死,问每个月的兔子总数为多少?
F1=1(n=1)
F2=1(n=2)
F n F_n Fn?= F n ? 1 F_{n-1} Fn?1?+ F n ? 2 F_{n-2} Fn?2?(n≥3)
第几个月 | 小兔子对数 | 中兔子对数 | 老兔子对数 | 兔子总数 |
---|---|---|---|---|
1 | 1 | 0 | 0 | 1 |
2 | 0 | 1 | 0 | 1 |
3 | 1 | 0 | 1 | 2 |
4 | 1 | 1 | 1 | 3 |
5 | 2 | 1 | 2 | 5 |
6 | 3 | 2 | 3 | 8 |
7 | 5 | 3 | 5 | 13 |
… | … | … | … | … |
编写程序:
#include
#include
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;
}
运行结果
文章图片
推荐阅读
- 补题大全|2021CCPC网络赛题解加总结
- 图卷积及图像超分辨率干货分享|基于TensorRT和C++推理的SOTA图像超分辨率网络
- Easy3D|VS2019编译配置Easy3D
- C++|算法-二叉树(在二叉搜索树中寻找节点)
- C++|算法-优化(以空间换时间,找n个小写字母中出现次数最多的字母)
- C++|算法-字符串(反转字符串里的单词)
- C++|算法-栈和队列(用栈实现队列)
- C++|C++11/14之智能指针std::unique_ptr
- Linux服务器开发|记录一次腾讯c/c++ linux后台开发岗面试经历(面试题含答案)