C语言经典算法实例6:斐波那契数列
一、问题描述
1.1、什么是斐波那契数列
斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,34,55,89…
这个数列从第3项开始,每一项都等于前两项之和。
斐波那契数列的定义者,是意大利数学家莱昂纳多·斐波那契(Leonardo Fibonacci),生于公元1170年,卒于1250年,籍贯是比萨。
他被人称作“比萨的莱昂纳多”。
1202年,他撰写了《算盘全书》(Liber Abacci)一书。
他是第一个研究了印度和阿拉伯数学理论的欧洲人。
他的父亲被比萨的一家商业团体聘任为外交领事,派驻地点于阿尔及利亚地区,莱昂纳多因此得以在一个阿拉伯老师的指导下研究数学。
他还曾在埃及、叙利亚、希腊、西西里和普罗旺斯等地研究数学。
另外斐波那契还在计算机C语言程序题中应用广泛
- 自然界的斐波那契数列
1.2、本文斐波那契数列的问题描述
斐波那契数列
问题的描述
如下几点所示
- 输出斐波那契(Fibonacci )数列的前 20 项。
- 该数列的第 1 项和第 2 项为 1 。
- 从第 3 项开始,每一项均为其前面 2 项之各和,即: 1 1 2 3 5 8 。
二、算法实例编译环境
本文C语言经典算法实例的编译环境,使用的是集成开发环境:Visual Studio 2019
Visual Studio 2019官网链接如下
Visual Studio 2019集成的开发环境的特点有
- Visual Studio 2019默认安装Live Share代码协作服务。
- 帮助用户快速编写代码的新欢迎窗口、改进搜索功能、总体性能改进。
- Visual Studio IntelliCode AI帮助。
- 更好的Python虚拟和Conda支持。
- 以及对包括WinForms和WPF在内的.NET Core 3.0项目支持等
三、算法实例实现过程
3.1、包含头文件
包含头文件 代码如下所示
#pragma once
// 包含头文件
#include <stdio.h>
#include <stdlib.h>
- 将要用到的C语言头文件包含近年来。
3.2、声明和定义变量
声明变量 代码如下所示。
// 声明变量。
long f1, f2, i;
f1 = f2 = 1; /*前两项为 1*/
- 声明了变量f1, f2, i。
- 求斐波那契数列的前2项f1和f2赋值为1。
3.3、输出提示信息
输出提示信息 代码如下所示
// 输出提示信息。
printf("斐波那契数列(Fibonacci)的前20项有\n\n");
- 程序运行时,输出斐波那契数列相关的提示信息。
按F5进行编译,调试结果如下所示。
3.4、输出斐波那契的第1项和第2项的值
输出斐波那契的第1项和第2项的值 代码如下所示
// 输出斐波那契的第1项和输出第2项。
printf("%6d%6d", f1, f2);
- 输出斐波那契的第1项和第2项的值。
- 斐波那契的第1项和第2项