日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言程序兔子反之问题,C语言解决兔子产子问题代码及解析

發布時間:2025/3/8 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

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

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

總結

以上是生活随笔為你收集整理的c语言程序兔子反之问题,C语言解决兔子产子问题代码及解析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。