CMNSOFT
首页|算法设计|在线应用
06.斐波那契数列
作者:孙自超发布时间:2024-12-12 09:33:56

新知识


例1.输出斐波那契数列前十个数字

运行程序,依次输出1,1,2,3,5,8,13,21,34,55

(1)题目分析

分析斐波那契数列的规律。第1、2个数字都是1。第3个数字开始,每个数字等于前两位数字之和。


(2)流程图

flowchart LR
A(开始程序)-->B[a1=1,a2=1,i=0]
B-->C[/输出a1,a2值/]
C-->D{i<8}
D-- Yes -->E[/输出a1+a2/]
E-->F[t=a1,a1=a2,a2=t+a2,i+=1]
F-->D
D-- No -->G(结束程序)

(3)源代码

#include<bits/stdc++.h> using namespace std; int main() { int a1=1,a2=1,i=0; cout<<a1<<","<<a2; while(i<8){ cout<<","<<(a1+a2); int t=a1; a1=a2; a2=t+a2; i+=1; } return 0; }

例2.检索斐波那契数列上的数字

编写程序,输入数字3,输出数字2;输入数字6,输出数字8。

(1)题目分析

例1已经可计算指定数位的斐波那契数列。我们只需要把例1封装成一个求斐波那契数列的函数就可以解决问题。


(2)源代码

#include<bits/stdc++.h> using namespace std; int fib(int n) { int a1=1,a2=1,i=0; if(n==1 || n==2) return 1; while(i<(n-2)){ int t=a1; a1=a2; a2=t+a2; i+=1; } return a2; } int main() { int c; cin>>c; cout<<fib(c); return 0; }

思考:比较例1和例2两个程序,请画出例2的流程图。

桂ICP备11003301号 桂公网安备45040302000027号
Copyright @ 2011-2025 by Sun zi chao
平台运行天数:80天
阅读次数:3841次
展开目录
+  01.基础知识

01.算法是什么?

02.编程语言介绍

03.编程基础

04.控制结构-1

05.控制结构-2

06.控制结构-3

07.函数的使用

+  02.数值运算

01.取整与取模

02.寻找因数

03.寻找完全数

04.求最大公约数

05.求最小公倍数

06.斐波那契数列

+  03.字符串运算
+  04.搜索算法
+  05.排序算法
+  06.分治算法
+  07.回溯算法
+  08.动态规划
+  09.贪心算法
+  10.遗传算法

同步视频