C语言如何实现斐波那契数列
发表于:2024-10-19 作者:千家信息网编辑
千家信息网最后更新 2024年10月19日,这篇文章主要介绍了C语言如何实现斐波那契数列的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言如何实现斐波那契数列文章都会有所收获,下面我们一起来看看吧。C语言数据结构
千家信息网最后更新 2024年10月19日C语言如何实现斐波那契数列
这篇文章主要介绍了C语言如何实现斐波那契数列的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言如何实现斐波那契数列文章都会有所收获,下面我们一起来看看吧。
C语言数据结构递归之斐波那契数列
首先,关于递归深度,递归提供了一个简单的定义。如果调用Fibonacci(),当n为1或2时Fibonacci(n)应返回1;对于其他数值应返回Fibonacci(n-1)+Fibonacci(n-2);
long Fibonacci(n){ if (n > 2) return Fibonacci(n-1)+Fibonacci(n-2); else return 1;}
然后是兔子总数问题。
有一对兔子,从出生后第三个月起每个月都生一对兔子,小兔子长到第三个月后又生一对兔子,假如兔子都不死,每个月兔子对数为多少?
思考这道题的时候,如果你简单的推算一下,会发现兔子每个月的对数就是斐波那契数列。
第一个月:1对;
第二个月:1对;
第三个月:2对;
第四个月:3对:
第五个月:5对:
第六个月:8对;
……
我之前做这道题的时候,觉得思路很简单,就是从第三个月起,求每个月的兔子数时,只要把这个月的前两个月总数相加。
这是我之前的代码,用f1和f2表示月。:
#includeint main(){ int f1,f2; int month,ct; printf("请输入月份:"); scanf("%d",&month); if(month<=2) printf("两只。\n"); if (month > 2) { f1 = f2 = 1; ct = 0; while(ct < month -2){ f1 = f1+f2; ct += 1; f2 = f1+f2; ct += 1; } if (month %2 == 0){ printf("第 %d 个月的兔子对数为:%d.\n",month,f2); } if (month %2 == 1){ printf("第 %d 个月的兔子对数为:%d.\n",month,f1); } } return 0;}
其实这个代码离递归就差一步,很接近了。但是我当时完全没有想到。
这是我重新修改之后的代码:
#includelong Fibonacci(n){ if (n > 2) return Fibonacci(n-1)+Fibonacci(n-2); else return 1;}int main(){ long num; int month; printf("请输入月份:"); scanf("%d",&month); num = Fibonacci(month); printf("这个月的兔子对数为%d.\n",num); return 0;}
关于"C语言如何实现斐波那契数列"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"C语言如何实现斐波那契数列"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
兔子
数列
语言
对数
三个
递归
代码
知识
内容
总数
时候
月份
篇文章
这是
输入
两个
价值
就是
思路
操作简单
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
hax 服务器 10G
网络安全周宣传公开普及
win打开服务器管理器
公司网络服务器
将数据库和项目打包war
2018年国家网络安全宣言
oracle 数据库操作
查看数据库的软件
小学生网络安全我们该怎么做
服务器安装两个管理
浅析数据库的安全因素
蓝田县软件开发服务商
互联网科技公司如何搞装修
精睿网络安全论坛
高邮市汇聚网络技术有限公司
热血江湖服务器状态
上海工行软件开发中心怎样
安卓socket服务器
华为数据通信部门软件开发
知乎 最流行的数据库
移动做网络技术岗前途待遇
西安软件开发月薪
河东区新时代软件开发装饰
浏览网络安全的网站
智能网络技术大会
计算机网络安全实训
数据库索引动画
邮政银行软件开发分中心
服务器运行挖矿程序怎么办
工行软件开发中心测试待遇