用C语言实现斐波那契数
如何用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语言实现斐波那契数相关推荐
- 用C语言求斐波那契数1,1,2,3,5,8......
斐波那契数规律:第三个数等于前两个数之和 分别设为a,b,c,则 当n<=2时,c=1; 当n>2时,c=a+b 运用循环求,n--是防止程序进入死循环,当n>2时,每循环一次减一, ...
- C语言实现斐波那契数
斐波那契的前几项数值是1,1,2,3,5,8,13......,不难发现在斐波那契数列中,除了前两项是1外,后面的每一项都是前两项的和.发现了这一点之后,利用代码实现斐波那契数问题就变得容易很多了.只 ...
- C语言 打印斐波那契数
大家好!今天来打印斐波那契数. 首先,斐波那契数: 斐波那契数列(Fibonacci sequence),又称 黄金分割 数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子 ...
- 51-C语言-求斐波那契数的前n项和
问题: 输入n,输出斐波那契数列前n项和. 思路: 什么是斐波那契数列--1 1 2 3 5 8.......即从第三位开始,设从第三位开始,每次所得数字为c,都有c=a+b; a为c的第前2个数,b ...
- c语言n次方怎么输入_C语言实现斐波拉契数列
C语言实现斐波拉契数列教程 怎么使用 C 语言实现计算斐波拉契数列的第 N 项的值? C语言实现斐波拉契数列详解 背景知识 斐波那契数列是一组第一位和第二位为 1,从第三位开始,后一位是前两位和的一组 ...
- C语言用递归求斐波那契数,让你发现递归的缺陷和效率瓶颈
C语言用递归求斐波那契数,让你发现递归的缺陷和效率瓶颈 分享到: QQ空间 新浪微博 腾讯微博 豆瓣 人人网 递归是一种强有力的技巧,但和其他技巧一样,它也可能被误用. 一般需要递归解决的问题有两个特 ...
- C语言 计算斐波那契数列
C语言 计算斐波那契数列 前言 在学习C语言的道路上多次遇到了求斐波那契数列的问题,今天来总结一下我所知道的几种思想方法. 方法一:循环 使用斐波那契数列的推导式,通过循环将每一个值保存到数组fib中 ...
- c语言输出斐波那契程序,C语言打印斐波那契数列
C语言打印斐波那契数列,具体的个数由用户输入. 我们知道斐波那契数列的规律是从第三个数开始,它数值是前2个的合计. 实现的代码如下: #include #include int main() { in ...
- C语言——求第n个斐波那契数
C语言--求第n个斐波那契数 写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项.斐波那契数列的定义如下: f(n)=f(n-1)+f(n-2),当n>1时,当n=0,f(0)=0 ...
最新文章
- 第一册:lesson seventeen。
- mysql创建用户,并赋予权限:只能查某个数据库中的某张表(只读)
- PHP建立和删除目录
- P2261 [CQOI2007]余数求和 整除分块
- redis 批量删除操作
- 到底该不该上马Vista 中小企业升级全攻略(上)
- [数据仓库]大数据体系下的工作者分类
- c语言中编译链接机制
- jqgrid点击搜索无法重置参数问题
- 货币代码(ISO 4217)
- 华为手机文件在内部存储路径_华为手机查找文件路径 华为文件夹在哪里
- BT.656标准简介
- imageai的安装和简单使用
- matlab 傅里叶变换时间窗 频率窗,短时傅里叶变换窗函数窗口宽度的选择
- BZOJ4200: [Noi2015]小园丁与老司机
- MFC工具箱中各种控件
- 用心去爱那些爱过我们的人
- 文件服务器 协同编辑,在 Office 365 中协同共享一同编辑文件
- 迁移学习(Transfer Learning)的背景、历史
- 融云--快速集成融云