如何用C语言实现斐波那契数

首先要理解以下斐波那契数的概念

斐波那契数列指的是这样一个数列“ 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368…”这个数列从第3项开始,每一项都等于前两项之和。

如何用C语言构造斐波那契数,可以运用递归和非递归两种方式。
首先用最简单的递归。

非递归代码

#include<stdio.h>
#include<stdlib.h>int main() {int i;int num = 1;int p = 0;int q = 1;int n = 6;printf("%4d%4d", p, q);for (i = 2; i < n; i++) {num = p + q;printf("%4d", num);p = q;q = num;}system("pause");return 0;
}

我们令p,q为最初的值0和1。

int p = 0;
int q = 1;

满足斐波那契数是要求后一个数等于前两个数之和,那其中代码部分为

num = p + q;

对于p,q要经过重新赋值,使得p,q是数值的前两个值。

p = q;
q = num;

图表为数值的变化分析

p q num
0 1 1
1 1 2
1 2 3
2 3 5

以此类推。
紧跟上面的思路,用递归求第n个数。

#include<stdio.h>
#include<stdlib.h>
int feibonaqie(int n) {if (n <= 2)return 1;//n=1,2   返还1;elsereturn feibonaqie(n - 1) + feibonaqie(n - 2);//n>2   返还前两个数之和}
int main()
{int number;printf("please input a number:\n");scanf("%d", &number);int n = feibonaqie(number);printf("%d", n);system("pause");return 0;
}

用C语言实现斐波那契数相关推荐

  1. 用C语言求斐波那契数1,1,2,3,5,8......

    斐波那契数规律:第三个数等于前两个数之和 分别设为a,b,c,则 当n<=2时,c=1; 当n>2时,c=a+b 运用循环求,n--是防止程序进入死循环,当n>2时,每循环一次减一, ...

  2. C语言实现斐波那契数

    斐波那契的前几项数值是1,1,2,3,5,8,13......,不难发现在斐波那契数列中,除了前两项是1外,后面的每一项都是前两项的和.发现了这一点之后,利用代码实现斐波那契数问题就变得容易很多了.只 ...

  3. C语言 打印斐波那契数

    大家好!今天来打印斐波那契数. 首先,斐波那契数: 斐波那契数列(Fibonacci sequence),又称 黄金分割 数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子 ...

  4. 51-C语言-求斐波那契数的前n项和

    问题: 输入n,输出斐波那契数列前n项和. 思路: 什么是斐波那契数列--1 1 2 3 5 8.......即从第三位开始,设从第三位开始,每次所得数字为c,都有c=a+b; a为c的第前2个数,b ...

  5. c语言n次方怎么输入_C语言实现斐波拉契数列

    C语言实现斐波拉契数列教程 怎么使用 C 语言实现计算斐波拉契数列的第 N 项的值? C语言实现斐波拉契数列详解 背景知识 斐波那契数列是一组第一位和第二位为 1,从第三位开始,后一位是前两位和的一组 ...

  6. C语言用递归求斐波那契数,让你发现递归的缺陷和效率瓶颈

    C语言用递归求斐波那契数,让你发现递归的缺陷和效率瓶颈 分享到: QQ空间 新浪微博 腾讯微博 豆瓣 人人网 递归是一种强有力的技巧,但和其他技巧一样,它也可能被误用. 一般需要递归解决的问题有两个特 ...

  7. C语言 计算斐波那契数列

    C语言 计算斐波那契数列 前言 在学习C语言的道路上多次遇到了求斐波那契数列的问题,今天来总结一下我所知道的几种思想方法. 方法一:循环 使用斐波那契数列的推导式,通过循环将每一个值保存到数组fib中 ...

  8. c语言输出斐波那契程序,C语言打印斐波那契数列

    C语言打印斐波那契数列,具体的个数由用户输入. 我们知道斐波那契数列的规律是从第三个数开始,它数值是前2个的合计. 实现的代码如下: #include #include int main() { in ...

  9. C语言——求第n个斐波那契数

    C语言--求第n个斐波那契数 写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项.斐波那契数列的定义如下: f(n)=f(n-1)+f(n-2),当n>1时,当n=0,f(0)=0 ...

最新文章

  1. 第一册:lesson seventeen。
  2. mysql创建用户,并赋予权限:只能查某个数据库中的某张表(只读)
  3. PHP建立和删除目录
  4. P2261 [CQOI2007]余数求和 整除分块
  5. redis 批量删除操作
  6. 到底该不该上马Vista 中小企业升级全攻略(上)
  7. [数据仓库]大数据体系下的工作者分类
  8. c语言中编译链接机制
  9. jqgrid点击搜索无法重置参数问题
  10. 货币代码(ISO 4217)
  11. 华为手机文件在内部存储路径_华为手机查找文件路径 华为文件夹在哪里
  12. BT.656标准简介
  13. imageai的安装和简单使用
  14. matlab 傅里叶变换时间窗 频率窗,短时傅里叶变换窗函数窗口宽度的选择
  15. BZOJ4200: [Noi2015]小园丁与老司机
  16. MFC工具箱中各种控件
  17. 用心去爱那些爱过我们的人
  18. 文件服务器 协同编辑,在 Office 365 中协同共享一同编辑文件
  19. 迁移学习(Transfer Learning)的背景、历史
  20. 融云--快速集成融云

热门文章

  1. 荣耀笔记本MagicBook Pro,618笔记本最佳选择
  2. 用Python实现火车票查询(含票价版)
  3. 基于docker搭建redis哨兵模式
  4. HBuilder学习与使用
  5. 专科生逆袭斯坦福读博!本人自述:感谢首医不歧视第一学历
  6. go select 的default
  7. React-Native 踩坑日志之 zIndex无效问题的记录
  8. web前端名人的博客微博Githu
  9. C# 如何获取checkedListBox 的选中项
  10. Python发展前景分析