C语言 斐波那契数列
斐波那契数列:数列的第一位和第二位都为1,从第三位开始,后一位是前俩位和的一组递增数列。eg:1,1,2,3,5,8,13……
在计算时有俩种算法,递归和非递归。
一:递归算法:一种直接或间接调用自身函数或者方法的算法
二:非递归算法
利用循环
也可以利用数组
代码:
#include <stdio.h>
int main()
{int m,j;
int b[15]={0,1};
scanf("%d",&m);
for(j=2;j<10;j++)
b[j]=b[j-1]+b[j-2];
printf("%d",b[m]);
}
例题:
斐波那契(Fibonacci,意大利数学家,1170年-1240年)数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……。这个数列从第三项开始,每一项都等于前两项之和。在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用。
已知斐波那契数列第n项的计算公式如下。在计算时有两种算法:递归和非递归,请给出其中一种算法。
当n=0时,Fib(n)=0,当n=1时,Fib(n)=1,当n>1时,Fib(n)= Fib(n-1)+ Fib(n-2)
输入格式:
第一行是测试数据的组数m,后面跟着m行输入。每行包括一个项数n和一个正整数a,(m,n,a均大于0,且均小于10000000)。
输出格式:
输出包含m行,每行对应一个输入,若a不大于Fib(n),则输出Yes,否则输出No(中间没有空行)。
输入样例:
3
1 3
10 50
24 20000
输出样例:
No
Yes
Yes
注意:当遇到数据相加相乘时,一定要注意数据的溢出!!!本题中某些斐波那契数列的结果就明显的溢出了int型的取值范围!
本题中,当a≤Fib(n)时,输出Yes!如果i<n,Fib(i)≥a,则a≤Fib(n)一定成立!!!此时Fib一定不会溢出!当a>Fib(n)时,输出No。
代码:#include <stdio.h>
int f(int x)
{ if(x==0) return 0;
else if(x==1)return 1;
else return f(x-1)+f(x-2);
}
int main()
{int m,n,a,j,i;
scanf("%d",&m);
for(j=1;j<=m;j++)
{scanf("%d%d",&n,&a);
for(i=2;i<=n;i++)
if(f(i)>=a){printf("Yes\n");break;}
if(i>n)printf("No\n");
}
}
C语言 斐波那契数列相关推荐
- C语言 斐波那契数列1、1、2、3、5、8、13、21、34、……
今天来介绍如何用C语言来输出斐波那契数列的前十项 #include "stdio.h" int fib(int n){return n==1||n==2?n=1:fib(n-1)+ ...
- c语言斐波纳契数列判断素数,求斐波那契数列和素数
所谓斐波那契数列指的是数列:1,1,2,3,5,8,13,21,--.用语言描述就是后一项等于前两项和. 打印100以类的斐波那契数列 a = 1 b = 1 print(a) print(b) wh ...
- c语言斐波那契数列_斐波那契数列之美
美妙绝伦的基本算法 Image by Gerd Altmann on Pixabay 在研究和进行有关数据处理,计算相关计算机或数学运算的研究时,我们遇到了很多算法. 即使有时候我们不太喜欢数学,但我 ...
- C语言斐波那契数列(附完整源码)
斐波那契数列 斐波那契数列完整源码(定义,实现,main函数测试) 斐波那契数列完整源码(定义,实现,main函数测试) #include <stdio.h> #include <s ...
- c语言斐波那契数列_视频丨神奇的斐波那契数列科学性与艺术性
生命是奇妙的 生命是有生命的 斐波那契数列 Fn+1=Fn+Fn-1,这个数列中的每个数字都是前两项数之和,如果是以1,1开头的自然数数列,1,1,2,3,5,8,13,21,34,55,89--这些 ...
- c语言斐波那契数列_神奇的数列——斐波那契数列
斐波那契数列之美 斐波那契是一位数学家,生于公元1170年,籍贯大概是比萨,卒于1240年后.1202年,他撰写了<珠算原理>(Liber Abaci)一书.他是第一个研究了印度和阿拉伯数 ...
- c语言斐波那契数列_剑指Offer-10-I.斐波那契数列
题目 题目描述 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项.斐波那契数列的定义如下: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - ...
- 一维搜索斐波那契C语言,斐波那契数列在一维搜索中的应用
斐波那契数列在一维搜索中的应用 Fibonacci数列在一维搜索中的应用 斐波那契数列: 斐波那契数列又称"斐波那契神奇数列",是由13世纪的意大利数学家斐波那契提出的,当时是和兔 ...
- c语言斐波那契数列递归数组,C语言数据结构学习:递归之斐波那契数列
自己对递归还是不太熟练,于是做的时候就很吃力,就是翻棋子直到棋盘上所有棋子的颜色一样为止,求最少翻多少次,方法是枚举递归.然后就打算先做另一道递归的题(从数组中取出n个元素的组合),但是同样在递归的问 ...
- C语言--斐波那契数列(三种方法)
文章目录 一·介绍 二·代码实现 1·递归实现 2·迭代实现 3·数组实现 一·介绍 斐波那契数列,就是前两个数是1,之后从第三个数开始等于前面两个数的和,请用代码方式求出第n个斐波那契数列的大小. ...
最新文章
- 2017年度最受欢迎开源中国项目:roncoo-pay投票评选
- 《 Java并发编程从入门到精通》Thread安全与不安全
- Android开发--图形图像与动画(二)--Animation实现图像的 渐变 缩放 位移 旋转
- 取input 输入_tensorRT动态输入(python)
- 俞敏洪:如果创业者缺乏这8种能力,失败可能性很大
- 10分钟看懂浏览器的渲染过程及优化
- ASP.NET AJAX 控件开发基础
- conda install 换源_ubuntu更换pip install,apt-get,conda install 成国内源
- 146_ACCESS之HR招聘信息管理_64位
- 美国科技投资交易约4.1%来自中国 投资仍然很困难
- BZOJ 1002: [FJOI2007]轮状病毒【生成树的计数与基尔霍夫矩阵简单讲解+高精度】
- 楚留香ai识别人脸_【专利解密】商汤科技:AI加持人脸识别
- DWG文件如何转换为PDF黑白文件
- vb.net 换行符的转换
- bat批处理开发-wifi联网系列(5):wifi稳定性分析之日期时间比较及奇特数字的坑
- Vue--Router--路由模式--种类/区别/原理
- python调用阿里云sdk
- 古琴销售怎么做阳php学,学奏古琴,学斫古琴,开班传艺 一位越南博士的琴色人生...
- 特斯拉的市场策略在中国面临“失效”
- c语言执行程序的时间 毫秒,C程序的执行时间