斐波那契数列又称黄金分割数列,是这样的:1、1、2、3、5、8、13……就是从第三项开始,每一项等于前两项之和。

我们想要求得第n个斐波那契数列是什么时,可以这样敲

一、第一种方法比较直接

#include <stdio.h>
int main()
{int n,a,b,sum;a=1;b=1;scanf("%d",&n);if(n==1 || n==2){printf("1/n");}else{for(int i=3;i<=n;i++){sum=a+b;a=b;b=sum;}}printf("第%d个斐波那契数列是%d\n",n,sum);return 0;
}

整体是这样。

再从一部分开始分析

#include <stdio.h>
int main()
{int n,a,b,sum;a=1;b=1;scanf("%d",&n);

1、int n;与scanf("%d",&n);加上后续输入,指出要求的n

2、a、b、sum先定义方便后续使用

 if(n==1 || n==2){printf("1/n");}

3、根据斐波那契数列性质,第一项和第二项没有规律可言,所以先判断n是否等于1或2

 else{for(int i=3;i<=n;i++){sum=a+b;a=b;b=sum;}}

4、对除了1和2的情况外进行分析运用for循环对每一项进行叠加计算出第n项

 printf("第%d个斐波那契数列是%d\n",n,sum);return 0;

5、最后表达,并加以文字美化结果

二、第二种方法使用递归

#include <stdio.h>
int fi(int n)
{if(n==1 || n==2) return 1;else return fi(n-2)+fi(n-1);
}
int main()
{int n;scanf("%d",&n);printf("%d",fi(n));return 0;
}

整体是这样的。

从一部分慢慢分析

int fi(int n)
{if(n==1 || n==2) return 1;else return fi(n-2)+fi(n-1);
}

1、这一段是最主要的算法区域,因为数列的性质先判断n是否为1和2,并提供返回值。

2、再对不是1和2的情况进行处理,这里引用f(n),根据斐波那契数列的性质,每一项等于前两项的和,也就是f(n)=f(n-1)+f(n-2),最后会退到f(1)和f(2),这两个数已经提前定义(也就是当n等于1和2的时候),直接进入计算。

int main()
{int n;scanf("%d",&n);printf("%d",fi(n));return 0;
}

3、最后就是定义n再加上后续输出,指定n。

4、如果想要美观也可以向方法一一样输入一个printf("第%d个斐波那契数列是%d\n",n,sum);

斐波那契数列(入门c语言)相关推荐

  1. 斐波那契数列求和——C语言(小白版)

    ** 斐波那契数列求和--C语言(小白版) ** 题目要求 斐波那契数列 1, 1, 2, 3, 5, 8, 13, 21, 34--不难发现当n>2时,an=an-1+an-2 要求:当屏幕输 ...

  2. 斐波那契数列编程C语言

    斐波那契数列指的是这样一个数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, - #include <stdio.h> long long Fbnl ...

  3. 最简单斐波那契数列输出C语言

    斐波那契数列的核心是它的递增推算代码: 废话不多说,直接上代码: #include<stdio.h> /*斐波那契数列*/ int main() {int a,b;long long in ...

  4. 斐波那契数列(C语言版)

    目录 一.斐波那契数列是什么? 二.详细代码 总结 一.斐波那契数列是什么? 斐波那契数列:1 1 2 3 5 8 13 21 34 55...... 从第三项开始,每一项都是前两项之和, 二.详细代 ...

  5. 斐波那契数列(Java语言)

    LeetCode 509 斐波那契数 LeetCode链接 斐波那契数(通常用F(n)表示)的定义: F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2),n>1由斐波那契数构成的序 ...

  6. C语言递归算法求斐波那契,递归法求斐波那契数列(C语言版)

    斐波那契数列: 又称黄金分割数列,指的是这样一个数列:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ... 在数学上,斐波纳契数列以如下被以递归的方法定义 ...

  7. 斐波那契数列算法c语言实现

    有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法?注:规定从一级到一级有0种走法.#include <stdio.h> int n,m,i,j; i ...

  8. 斐波那契数列程序(C语言)

    #include <stdio.h>int main (){double f1=1, f2=1;int i, n, k;scanf("%d",&n);//输入一 ...

  9. 【C语言】斐波那契数列(Fibonacci sequence)递归实现 和 非递归实现

    目录 斐波那契数列 引出 C语言代码实现--递归 C语言代码实现--非递归 斐波那契数列 引出 斐波那契数列的应用十分广泛,这里不再列举. C语言代码实现--递归 同时也有许多种代码实现方式,这里仅列 ...

  10. 斐波那契数列(递归+源码+注释)

    斐波那契数列(递归+源码+注释) 公元 1202 年,意大利数学家莱昂纳多·斐波那契提出了具备以下特征的数列: 前两个数的值分别为 0 .1 或者 1.1: 从第 3 个数字开始,它的值是前两个数字的 ...

最新文章

  1. C语言处理字符串及内存操作
  2. 快速打开IIS的方法
  3. 访问Mysql数据库,连接字符串配置
  4. python中的列表是指针吗_Python中的指针——到底指什么(二)
  5. 【机器视觉】 dev_set_colored算子
  6. 重要接口—Cloneable接口
  7. Spring源码解析:自定义标签的解析过程
  8. MySQL数据库同步神器 - Gravity - 比Datax好用
  9. springMVC接收请求参数的几种方式
  10. 西门子万人裁员背后的思考 :有车有房的中年人最好使唤
  11. 解密朋友圈红包照片功能
  12. 找不到python27.dll问题
  13. mysql 1031_MySQL5.6数据导入MySQL5.7报错:ERROR 1031 (HY000)
  14. zookeeper启动报错: Invalid configuration, only one server specified (ignoring)
  15. 4、nerf(pytorch)
  16. Java中grabImage_JavaCV实现将视频以帧方式抽取
  17. 练习题:打印26个小写字母
  18. SWUST OJ 574: Renting Boats
  19. 友盟集成QQ第三方登录
  20. 【Python】networkx创建图(1)

热门文章

  1. 开篇 :直播软件分析.
  2. 详细介绍借助Docker Hub访问gcr.io镜像
  3. 51单片机 仿真器驱动安装失败
  4. 面试云计算工程师岗位经常被问到的40个问题
  5. 懒人起名神器,百度翻译内容改为驼峰格式
  6. 前端中的A、B、C端解释
  7. 贝尔曼方程怎么解_贝尔曼方程
  8. 红黑树(Red-Black Tree,RBT)
  9. 漂亮的壁纸,这些网站就足够了。
  10. 宝宝起名取名字:渊博雅正、令人难忘的男宝宝名字