1. 程式人生 > >C語言程式例題(三)

C語言程式例題(三)

1.問題描述
有一對兔子,從出生後的第三個月起每個月都生一對兔子。小兔子長到第3個月後每個月又生一對兔子,假設所有的兔子都不死,問30個月內每個月的兔子總數為多少?
2.問題分析
我們可以列一張表來看一下每個月兔子的數目

月數 幼年兔子對數 成年兔子對數 兔子總對數
1 1 0 1
2 1 0 1
3 1 1 2
4 2 1 3
5 3 2 5
6 5 3 8
7 8 5 13

由此可以看出,每個月的兔子總數依次為1,1,2,3,5,8,13……總結上述規律就可以找出第三個月開始的兔子的總對數。
本月的兔子總數=前一個月兔子的總對數+前兩個月兔子的總對數
這就是簡單的迭代公式
3.程式程式碼

#include <stdio.h>
#define max 1024
int main() { int a[max]; int i; a[0] = 1; a[1] = 1; printf("the number of the rabbits of 1 month is 1\n"); printf("the number of the rabbits of 2 month is 1\n"); for(i = 2; i <=29; i++) { a[i] = a[i - 1] + a[i - 2]; printf("the number of the rabbits of %d
month is %d\n"
,i,a[i]); } return 0; }

4.執行結果:
這裡寫圖片描述