C语言如何实现斐波那契数列
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章主要介绍了C语言如何实现斐波那契数列的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言如何实现斐波那契数列文章都会有所收获,下面我们一起来看看吧。C语言数据结构
千家信息网最后更新 2025年01月18日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安全错误
数据库的锁怎样保障安全
计算机网络技术出来干啥
php 链接数据库类下载
北京oa软件开发it技术
池州手机软件开发
软件开发时间延长
安卓手机数据库怎么设计
服务器进入管理模式
scum服务器声望怎么设置
was服务器简介
预存数据库
办公网络安全加固
太平洋财产网络安全保险
花网络安全绘画入门
数据库的安全与防范论文
滕州 网络安全
火星时代网络技术
郝叶力网络安全视频
工商联会员企业数据库
阿里云服务器安全组开端口
局网络安全巡查制度
8节点服务器
池州手机软件开发
北京电子邮件中继服务器
网络技术卡盟
网络技术简明教程课后答案
数据库的纵向扩展
面向空间数据库面向高端用户
生态互联网络科技有限公司
飞桨动态网络技术
高斯数据库默认创建数据为哪几个