赞
踩
斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,34,55,89…
这个数列从第3项开始,每一项都等于前两项之和。
斐波那契数列的定义者,是意大利数学家莱昂纳多·斐波那契(Leonardo Fibonacci),生于公元1170年,卒于1250年,籍贯是比萨。
他被人称作“比萨的莱昂纳多”。
1202年,他撰写了《算盘全书》(Liber Abacci)一书。
他是第一个研究了印度和阿拉伯数学理论的欧洲人。
他的父亲被比萨的一家商业团体聘任为外交领事,派驻地点于阿尔及利亚地区,莱昂纳多因此得以在一个阿拉伯老师的指导下研究数学。
他还曾在埃及、叙利亚、希腊、西西里和普罗旺斯等地研究数学。
另外斐波那契还在计算机C语言程序题中应用广泛
斐波那契数列
问题的描述
如下几点所示
本文C语言经典算法实例的编译环境,使用的是集成开发环境:Visual Studio 2019
Visual Studio 2019官网链接如下
Visual Studio 2019集成的开发环境的特点有
包含头文件 代码如下所示
#pragma once
// 包含头文件
#include <stdio.h>
#include <stdlib.h>
声明变量 代码如下所示。
// 声明变量。
long f1, f2, i;
f1 = f2 = 1; /*前两项为 1*/
输出提示信息 代码如下所示
// 输出提示信息。
printf("斐波那契数列(Fibonacci)的前20项有\n\n");
按F5进行编译,调试结果如下所示。
输出斐波那契的第1项和第2项的值 代码如下所示
// 输出斐波那契的第1项和输出第2项。
printf("%6d%6d", f1, f2);
按F5进行编译,调试结果如下所示。
计算和输出斐波那契第3项到第20项的值,代码如下所示
/// <summary> /// 计算和输出斐波那契的第3项到第20项。 /// </summary> for (i = 3; i <= 20; i += 2) { for (i = 3; i <= 20; i += 2) { // 计算下两项 f1 = f1 + f2; f2 = f1 + f2; // 每输出十项换行 if (i % 11 == 0) { printf("\n"); } // 输出f1,f2 printf("%6d%6d", f1, f2); } } printf("\n");
按F5进行编译,调试结果如下所示。
求斐波那契数列的前20项函数声明 代码如下所示
/// <summary>
/// 求斐波那契数列的前20项函数声明
/// </summary>
void FibonacciSequence();
求斐波那契数列的前20项函数定义 代码如下所示
/// <summary> /// 求斐波那契数列的前20项的函数定义 /// </summary> void FibonacciSequence() { // 声明变量。 long f1, f2, i; f1 = f2 = 1; /*前两项为 1*/ // 输出提示信息。 printf("斐波那契数列(Fibonacci)的前20项有\n\n"); // 输出斐波那契的第1项和第2项。 printf("%6d%6d", f1, f2); /// <summary> /// 计算和输出斐波那契的第3项到第20项。 /// </summary> for (i = 3; i <= 20; i += 2) { for (i = 3; i <= 20; i += 2) { // 计算下两项 f1 = f1 + f2; f2 = f1 + f2; // 每输出十项换行 if (i % 11 == 0) { printf("\n"); } // 输出f1,f2 printf("%6d%6d", f1, f2); } } printf("\n"); }
// 调用求斐波那契数列的前20项的函数
FibonacciSequence();
printf("\n");
按F5进行编译,调试结果如下所示。
经典算法实例程序完整代码如下所示
#pragma once
// 包含头文件
#include <stdio.h>
#include <stdlib.h>
/// <summary>
/// 求斐波那契数列的前20项函数声明
/// </summary>
void FibonacciSequence();
#define _CRT_SECURE_NO_WARNINGS #include "Main.h" /// <summary> /// 主函数 /// </summary> /// <returns>返回0</returns> int main() { system("color 3E"); // 调用求斐波那契数列的前20项的函数 FibonacciSequence(); printf("\n"); system("pause"); return 0; } /// <summary> /// 求斐波那契数列的前20项的函数定义 /// </summary> void FibonacciSequence() { // 声明变量。 long f1, f2, i; f1 = f2 = 1; /*前两项为 1*/ // 输出提示信息。 printf("斐波那契数列(Fibonacci)的前20项有\n\n"); // 输出斐波那契的第1项和第2项。 printf("%6d%6d", f1, f2); /// <summary> /// 计算和输出斐波那契的第3项到第20项。 /// </summary> for (i = 3; i <= 20; i += 2) { for (i = 3; i <= 20; i += 2) { // 计算下两项 f1 = f1 + f2; f2 = f1 + f2; // 每输出十项换行 if (i % 11 == 0) { printf("\n"); } // 输出f1,f2 printf("%6d%6d", f1, f2); } } printf("\n"); }
本文的C语言经典算法实例:斐波那契数列,要实现的目标如下
文到这里就结束啦。
希望本文的C语言经典算法实例:斐波那契数列
能激发你对C语言以及算法学习的热爱。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。