每日程序C语言5-斐波那契兔子数
生活随笔
收集整理的這篇文章主要介紹了
每日程序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语言3-三个数大小排序
- 下一篇: 每日程序C语言6-判断某范围之间的素数