非递归和递归分别实现求第n个斐波那契数。
菲波那切数列为:0 1 1 2 3 5 8 13 21 34...
规律:从第三个数字起后面的每一个数字都是前两个数字的和。
非递归算法:
#include<stdio.h>
int main()
{
//数列:0 1 1 2 3 5 8 13 21 34
//序号:1 2 3 4 5 6 7 8 9 10
int a = ;
int b = ;
int c = a + b;
int num = ;//num为所求的第几项数列。
scanf("%d", &num);
if (num > )
{
for (int i = ;i < num - ;i++) {
a = b;
b = c;
c = a + b;
}
printf("%d", c); }
else
{
printf("%d",a);
} renturn ;
}
递归算法:
#include<stdio.h>
//0 1 1 2 3 5 8 13 21 34
//1 2 3 4 5 6 7 8 9 10
int Num(int n)
{
if (n == )
{
return ;
}
if (n == )
{
return ;
}
else
{
return Num(n - ) + Num(n - );
}
} int main()
{
int n;
scanf("%d",&n);//输入想要求得的第几个斐波那契数列
int num = Num(n);
printf("%d",num); return ;
}
非递归和递归分别实现求第n个斐波那契数。的更多相关文章
- 用x种方式求第n项斐波那契数,99%的人只会第一种
大家好啊,我们又见面了.听说有人想学数据结构与算法却不知道从何下手?那你就认真看完本篇文章,或许能从中找到方法与技巧. 本期我们就从斐波那契数列的几种解法入手,感受算法的强大与奥妙吧. 原文链 ...
- python递归方式和普通方式实现输出和查询斐波那契数列
●斐波那契数列 斐波那契数列(Fibonacci sequence),是从1,1开始,后面每一项等于前面两项之和. 如果为了方便可以用递归实现,要是为了性能更好就用循环. ◆递归方式实现生成前30个斐 ...
- 【C++】【斐波那契】求第几个斐波那契数字。
首先在头文件 whichfibonaccinumber.h 中写了一个使用加法的解法.没有验证输入数字是否小于0. #ifndef WHICHFIBONACCINUMBER_H_ #define WH ...
- POJ 3070(求斐波那契数 矩阵快速幂)
题意就是求第 n 个斐波那契数. 由于时间和内存限制,显然不能直接暴力解或者打表,想到用矩阵快速幂的做法. 代码如下: #include <cstdio> using namespace ...
- 求斐波那契数的python语言实现---递归和迭代
迭代实现如下: def fab(n): n1 = 1 n2 = 1 if n<1: print("输入有误!") return -1 while (n-2)>0: n3 ...
- C++求斐波那契数
题目内容:斐波那契数定义为:f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)(n>1且n为整数) 如果写出菲氏数列,则应该是: 0 1 1 2 3 5 8 13 21 34 …… ...
- hdu1568&&hdu3117 求斐波那契数前四位和后四位
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1568 题意:如标题所示,求斐波那契数前四位,不足四位直接输出答案 斐波那契数列通式: 当n<=2 ...
- Java算法求最大最小值,冒泡排序,斐波纳契数列一些经典算法<不断更新中>
清明在家,无聊,把一些经典的算法总结了一下. 一.求最大,最小值 Scanner input=new Scanner(System.in); int[] a={21,31,4,2,766,345,2, ...
- HDU 1568 Fibonacci【求斐波那契数的前4位/递推式】
Fibonacci Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Proble ...
随机推荐
- bootstrapTable--4.删除和批量删除
http://blog.csdn.net/qq_26553781/article/details/78058389 ------------------------------------------ ...
- Mysql使用information.shema.tables查询数据库表大小
简介: information_schema数据库中的表都是只读的,不能进行更新.删除和插入等操作,也不能加触发器,因为它们实际只是一个视图,不是基本表,没有关联的文件. 元数据描述数据的数据,用于描 ...
- ps基础学习笔记一
图像?表示分为位图方式和矢量图方式 位图是像素点组成,一副图像所含像素越多,图像的效果就越好 矢量图是基于一定数学方式描述,适合表示色彩较少,一色块为主,曲线简单的图像,文件小ps一般用来处理位图,c ...
- elk之kibana
环境: centos7 jdk8 参考: https://www.elastic.co/guide/en/elasticsearch/reference/current/rpm.htmlhttp:// ...
- AbstractBootstrap.bind()
------------------headContext也就是pipeline最开头的那个handlercontext中的bind方法@Override public void bind( Chan ...
- poj3080(kmp+枚举)
Blue Jeans Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 20163 Accepted: 8948 Descr ...
- pl/sql developer中dbms_output.put_line函数的运用
pl/sql developer中dbms_output.put_line函数可以打印想显示在屏幕上的信息,运用时需要注意几点: 1 必须处于begin ... end: 2 需要先执行 set ...
- http 请求头部解析
作者:知乎用户链接:https://www.zhihu.com/question/42696895/answer/109035792来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...
- c++ 类图
https://baijiahao.baidu.com/s?id=1609647985519542865&wfr=spider&for=pc
- npm 包管理器的使用
1. 权限问题 Warning "root" does not have permission to access the dev dir · Issue #454 · nodej ...