c語言程序兔子反之問題,C語言解決兔子產子問題代碼及解析

有一對兔子,從出生后的第3個月起每個月都生一對兔子。小兔子長到第3個月后每個月又生一對兔子,假設所有的兔子都不死,問30個月內每個月的兔子總數為多少?

問題分析

兔子數的規律,如下表所示:

月數

小兔子對數

中兔子對數

老兔子對數

兔子總數

1

1

0

0

1

2

0

1

0

1

3

1

0

1

2

4

1

1

1

3

5

2

1

2

5

6

3

2

3

8

7

5

3

5

13

提示:不滿1個月的兔子為小兔子,滿1個月不滿2個月的為中兔子,滿3個月以上的為老兔子。

可以看出,每個月的兔子總數依次為1, 1, 2, 3, 5, 8, 13…這就是Fibonacci數列。總結數列規律即從前兩個月的兔子數可以推出第3個月的兔子數。

算法設計

該題是典型的迭代循環,即是一個不斷用新值取代變量的舊值,然后由變量舊值遞推出變量新值的過程。這種迭代與如下因素有關:初值、迭代公式、迭代次數。經過問題分析,算法可以描述為:

用C語言來描述迭代公式即為:

fib = fib1 + fib2

其中 fib 為當前新求出的兔子數,fib1為前一個月的兔子數,fib2 中存放的是前兩個月的兔子數,然后為下一次迭代做準備,進行如下的賦值 fib2=fib1,fibl=fib,要注意賦值的次序,迭代次數由循環變量控制,表示所求的月數。

下面是完整的代碼:

#include

int main()

{

long fib1=1, fib2=1, fib;

int i;

printf("%12ld%12ld", fib1, fib2); /*輸出第一個月和第二個月的兔子數*/

for(i=3; i<=30; i++)

{

fib = fib1 + fib2; /*迭代求出當前月份的兔子數*/

printf("%12ld", fib); /*輸出當前月份兔子數*/

if(i % 4 == 0)

printf("n"); /*每行輸出4個*/

fib2 = fib1; /*為下一次迭代作準備,求出新的fib2*/

fib1 = fib; /*求出新的fib1*/

}

printf("n");

return 0;

}

運行結果:

1 1 2 3

5 8 13 21

34 55 89 144

233 377 610 987

1597 2584 4181 6765

10946 17711 28657 46368

75025 121393 196418 317811

514229 832040

fb5c1cdc67e3da5124b5902462a5b591.png

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

本文永久更新鏈接地址:https://www.linuxidc.com/Linux/2018-12/155896.htm

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/534422.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/534422.shtml
英文地址,請注明出處:http://en.pswp.cn/news/534422.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

c語言程序設計數據存儲方案,c語言程序設計“第02章數據的存儲及運算.ppt

[Return] 第2章 數據的存儲與運算 2.1 常量和變量 2.2 整型數據 2.3 實型數據 2.4 字符型數據 2.5 符號常量 2.6 算術運算符和算術表達式 2.7 C運算符和C表達式 [Return] 2.1 常量和變量 1 什么是常量&#xff1f; 在程序運行過過程中其值值不變變的量。 2 什么是變量&#xff…

6位密碼鎖的c語言編程,51單片機4*3矩陣鍵盤6位密碼鎖c語言程序

滿意答案#include#include#define uchar unsigned charuchar key;int i0;char b[4]{0,0,0,0};//輸入的密碼放這里和初始的比較來判斷是否密碼正確void keyscan()//掃描按鍵是否按下{uchar temp;P30xfe;//掃描第一行tempP3;temptemp&0xf0;if(temp!0xf0)//判斷按鍵是否按下{d…

c語言fork()創建線程,操作系統的創建原語是fork()還是creat()?

滿意答案MythSwift2013.09.10采納率&#xff1a;55% 等級&#xff1a;12已幫助&#xff1a;9461人一個進程就相當于一個主線程。fork一個進程與create一個線程的區別:fork進程:子進程復制父進程的進程環境。父進程結束不會影響子進程的運行。進程切換復制進程環境。create線…

android 最新 support,android support v7 下載-android support.v7包 官方最新版 - 河東下載站...

android support v7是一款功能非常實用的android在進行開發的過程中&#xff0c;必須要進行使用的一個包&#xff1b;這款軟件作為一個功能非常全面的功能包&#xff0c;也是目前為止最新的功能包&#xff0c;是您這使用Android開發的時候&#xff0c;非常重要的一環&#xff1…

android aar jar制作,AndroidStudio aar、jar生成及其引用

aar生成新建項目&#xff0c;并在項目中新建Library module&#xff1a;banner&#xff0c;如圖&#xff1a;在新建Module中編寫完代碼后&#xff0c;build整個工程后就會自動生成aar包&#xff0c;包的路徑在新建Module 》 build 》outputs >aar目錄下&#xff1b;aar引用在…

android 點擊側滑代碼,代碼分析Android實現側滑菜單

Android 側滑菜單的實現&#xff0c;參考網上的代碼&#xff0c;實現側滑菜單。最重要的是這個動畫類UgcAnimations&#xff0c;如何使用動畫類來側滑的封裝FlipperLayout。1、實現效果2、動畫類UgcAnimationspackage com.mmsx.base;import android.content.Context;import and…

鴻蒙系統年底問世視頻,鴻蒙系統年底問世 什么時候上市使用

鴻蒙系統年底問世具體哪一天&#xff1f;自從華為鴻蒙操作系統被曝光后&#xff0c;大家對鴻蒙操作系統可謂是期待已久&#xff0c;鴻蒙操作系統具體什么時間上線&#xff0c;并沒有具體的時間通知。但有消息稱&#xff0c;“鴻蒙”手機將年底問世&#xff0c;初期主要面向中低…

android怎么設置適配器,Android之自定義實現BaseAdapter(通用適配器三)

在上一篇中&#xff0c;我們說過&#xff0c;在setData中如果有很多控件的話&#xff0c;我們還是要在該方法中寫入很多代碼&#xff0c;為了降低開發的方便性&#xff0c;本次就在此基礎上再一次優化。實現原理是這樣的&#xff0c;每次在setData中都要查找控件&#xff0c;然…

html游戲怎么編輯器,HTML的編輯器使用

使用 Notepad 或 TextEdit 來編寫 HTML可以使用專業的 HTML 編輯器來編輯 HTML&#xff1a;Adobe DreamweaverMicrosoft Expression WebCoffeeCup HTML Editor(推薦學習&#xff1a;HTML入門教程)不過&#xff0c;我們同時推薦使用文本編輯器來學習 HTML&#xff0c;比如 Notep…

html5中如何自動跳轉頁面,實現HTML5上滑跳轉頁面的兩種方法

方法一&#xff1a;jquery方法movePage($(body));function movePage(dom) {var startY, moveY, moveSpave;dom.on("touchstart", function(e) {startY e.originalEvent.touches[0].pageY; return startY;});dom.on("touchmove", function(e) {moveY e.or…

鴻蒙系統hifi,Apple Music將迎來重大更新 HiFi無損音質即將上線?

原標題&#xff1a;Apple Music將迎來重大更新 HiFi無損音質即將上線&#xff1f;前不久有媒體報道稱&#xff0c;蘋果將在當地時間5月18日推出HiFi版AppleMusic服務&#xff0c;新服務將為Apple Music用戶提供無損的流媒體音樂&#xff0c;滿足HiFi用戶對高音質的追求。而在近…

html5語義化標簽 加粗,html5標簽 H5標簽

html>h5文本元素1.文本元素2.加粗文字 b 3.傾斜文字 i 4.刪除文字 del 5.加粗文字2 strong 6.安全換行 wbr~~~ 7.強調 傾斜元素 em 8.刪除線2 s元素9998 9.下劃線 u 10.下劃線2 ins元素 11.小號字體small元素 12.下標 sub&#xff1a;CH4COOH ; 上標sup&#xff1a;20平方米…

華為筆記本會不會用鴻蒙,華為MateBook Pro筆記本為什么不用鴻蒙操作系統HarmonyO?...

頭條上整天就是各種華為啊鴻蒙啊的&#xff0c;搞得好像人人都見過鴻蒙一樣。還是大家以為操作系統就是做個APP或者王者榮耀&#xff1f;據我所知&#xff0c;鴻蒙OS現在我們能看到的&#xff0c;也就是幾張PPT截圖吧&#xff1f;整天動不動&#xff0c;這個為啥不用鴻蒙&#…

html 復選框name值,HTML(5)表單元素以及對各個表單元素的name、value屬性的理解

我在學習表單元素的時候感覺很混亂&#xff0c;特別是 name value這兩個屬性&#xff0c;沒有真正理解它們是干什么的&#xff0c;所以需要梳理一下。HTML表單元素主要有 HTML5新增的表單元素有三個下面梳理一下這些表單元素的用法并指出各元素的name、value屬性含義1. 元素元…

html中一張a4是多少pt,CSS設置A4紙張尺寸

我需要在網絡上模擬A4紙&#xff0c;并允許打印此頁面&#xff0c;因為它在瀏覽器上顯示(特別是Chrome)。我設置元素的大小為21厘米x 29.7厘米&#xff0c;但當我發送打印(或打印預覽)它剪輯我的頁面。HTMLPage 1/2Page 2/2CSSbody {margin: 0;padding: 0;background-color: #F…

html中的異步請求數據格式,解決layui中table異步數據請求不支持自定義返回數據格式的問題...

使用版本 layui-v2.3.0修改&#xff1a;打開layui中table.js源碼在 Class.prototype.pullData 這個方法定義內部//獲得數據Class.prototype.pullData function(curr, loadIndex){var that this,options that.config,request options.request,response options.response,so…

首頁圖標九宮格 html5,html5九宮格布局的網格菜單代碼

特效描述&#xff1a;html5 九宮格布局 網格菜單代碼。今天我們想和大家分享一個九宮格菜單動畫。這個想法的靈感來自于視頻中的效果&#xff0c;html5全屏展開網格布局菜單&#xff0c;點擊全屏背景切換顯示代碼。代碼結構1. 引入CSS2. 引入JS3. HTML代碼Grid MenuarrowdropTo…

html數據摘要算法,js 摘要算法 base64加密解密 以及字符串編碼

js 摘要算法 base64加密解密 unescape()和escape()對字符串進行編碼 encodeURI()和decodeURI()編碼 encodeURIComponent()和decodeURIComponent()編碼base64&#xff1a;雙向加密方式。1.GitHub中下載base64https://github.com/dankogai/js-base642.對應的HTML中調用//加密var …

html中日期格式化函數,JavaScript日期時間格式化函數分享

這個函數經常用到&#xff0c;分享給大家。函數代碼&#xff1a;Date.prototype.format function(format){var o {"M" : this.getMonth()1, //month"d" : this.getDate(), //day"h" : this.getHours(), //hour"m" : this.getMi…

蘋果6怎樣打開html,蘋果iPhone的Safari瀏覽器使用技巧圖解

&#xfeff;  大多數的 iPhone 用戶們都是用的 iOS 系統自帶的 Safari 瀏覽器&#xff0c;不過很多用戶們對 Safari 瀏覽器卻不是很熟悉&#xff0c;因為 Safari 畢竟沒有國產瀏覽器這么動我們&#xff01;這廂腳本之家小編給大家介紹一些 iOS Safari 瀏覽器的一些你所不知道…