每日程序C语言5-斐波那契兔子数
每日程序C语言
题目
古典问题,有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后又生一对兔子,假如兔子都不死,问每个月的兔子总数是多少?
算法分析
兔子的对数符合斐波那契数列
斐波那契数列
(Fibonacci sequence),又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)。就是前两个数的和等于第三个数的值。
兔子繁殖树状图https://stage.geogebra.org/m/xyut7cwm
非递归方式
int fun(int n){int n1,n2;n1=n2=1;for(int i=1;i<=n;i++){printf("%d\t",n1);printf("%d\t",n2);n1=n1+n2;n2=n1+n2;}return 0;
}
递归方式
int fun(int n){if(n==1 || n=2){return 1;}else{return fun(n-1)+fun(n-2);}
}
数组方式
int fun(){int a[20]={0};a[0]=a[1]=1;for(int i=2;i<20;i++){a[i]=a[i-1]+a[i-2];}for(int i=0;i<20;i++){return a[i];}return 0;
}
今日巩固
- 对斐波那契数列有了更深刻的理解,在生活中,很多事物的产生不是对称的,而是像斐波那契数列这样的规律
- 递归有时候运算起来效率不是很高,可以结合数组的形式来优化算法
每日程序C语言5-斐波那契兔子数相关推荐
- c语言输出斐波那契程序,C语言打印斐波那契数列
C语言打印斐波那契数列,具体的个数由用户输入. 我们知道斐波那契数列的规律是从第三个数开始,它数值是前2个的合计. 实现的代码如下: #include #include int main() { in ...
- c语言n次方怎么输入_C语言实现斐波拉契数列
C语言实现斐波拉契数列教程 怎么使用 C 语言实现计算斐波拉契数列的第 N 项的值? C语言实现斐波拉契数列详解 背景知识 斐波那契数列是一组第一位和第二位为 1,从第三位开始,后一位是前两位和的一组 ...
- C语言 计算斐波那契数列
C语言 计算斐波那契数列 前言 在学习C语言的道路上多次遇到了求斐波那契数列的问题,今天来总结一下我所知道的几种思想方法. 方法一:循环 使用斐波那契数列的推导式,通过循环将每一个值保存到数组fib中 ...
- 用C语言实现斐波那契数
如何用C语言实现斐波那契数 首先要理解以下斐波那契数的概念 斐波那契数列指的是这样一个数列" 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 23 ...
- python斐波那契数列前20项_Python每日一练之实现斐波那契数列
概述 今天主要分享下怎么用Python实现斐波那契数列,大家有空可以玩一下~ 需求 用Python脚本实现斐波那契数列. 思路 斐波那契数列,也称兔子数列,是指1,1,2,3,5,8,13,21,34 ...
- 信息学奥赛C++语言:斐波那契第n项
[题目描述] 输入n,编写程序输出斐波那契数列的第n项.其中斐波那契数列f(n)的定义如下: f(1)=0,f(2)=1 f(n)=f(n-1)+f(n-2)(n>=2) [输入] 一行一个正整 ...
- 用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,从第三项开始,每一项为前两项数之和,即: F1 = 1 (n = 1) F2 = 1 (n =2 ...
- c语言输出斐波那契数列前20项,在c语言中,如何利用数组求斐波那契数列的前20项?...
在c语言中,以vc为例利用数组求斐波那契数列的前20项的具体步骤如下: 1.首先,打开vc: 2.点击文件.新建: 3.选择win32 console application 并在右侧输入工程的名字和 ...
最新文章
- 第十节:利用async和await简化异步编程模式的几种写法
- 《spring-boot学习》-10-RabbitMQ
- The Number of Products
- 下载vc_redist运行库
- windows注册表文件损坏了,导致windows无法启动,解决办法!
- 学习Globle和window对象学习心得+jquery中的$(#id)与document.getElementById(id)的区别+成功激活win10的方法
- html弹出对话框 自动点击,c#如何自动点击网页弹出的对话框的确认键
- java无法下载jnlp_无法加载jnlp文件
- 北京市基本医疗保险A类定点医疗机构名单(2010-09-29)
- Python小技巧:将大音频文件无损切割为小音频文件
- git 指令操作虚拟机操作
- C/C++程序员求职面试指导
- 如何把录音转换成文字?这几个方法可以轻松解决录音转文字
- HBuilder下载
- 欢迎下载psp的埃舍尔画集主题
- 国家电网公司推进信息化工程综述
- auto hot key常用命令
- java编程猜拳游戏_Java开发实现猜拳游戏
- 在OpenCV里实现负片函数imcomplement
- 新东方 词根词缀 excel_干货 | 14张图拓展记忆高中英语所有词缀和词根!全弄懂单词更好背!...