當前位置:編程學習大全網 - 編程語言 - 編程斐波那契

編程斐波那契

呵呵,C語言編程經常有這樣的問題!斐波那契數列!斐波那契數列是壹對

這兩對

兔子順序問題:第壹個月有壹對兔子,每對兔子從出生開始每兩個月可以繁殖另壹對兔子。找出第n個月有多少對兔子。

奶牛數量:如果壹只小母牛從出生後第四年開始每年生壹頭奶牛,按照這個規律,第n年有多少頭奶牛?

兔子數列也叫斐波那契數列:1,1,2,3,5,8,13,21,34,55,89,...

編程求數列這個問題,首先要找到規律,所以壹定要學會分析稿紙上的數列。下面我來打個草稿:

上個月的兔子數是新生兔子總數。

1 1

2 1 0 1+0=1

3 1 1 1+1=2

4 2 1 2+1=3

5 3 2 3+2=5

6 5 3 5+3=8

……

我們知道最初只有壹對兔子,但問題是如何每個月都有新的兔子。仔細分析後妳會發現,其實每個月新增的兔子對數等於上個月的總兔子對數。簡單來說就是每個月新增的兔子對數等於前兩個月的兔子對數總和,其實不難理解。因為兔子每兩個月生壹對,上個月剛出生的兔子肯定生不出兔子,所以每個月新增的兔子對數等於前兩個月的兔子對數總和。廢話很多,但是分析清楚了,所以我們只需要取兩個變量,壹個是記錄上個月兔子的對數,壹個是記錄新兔子的對數,也就是上個月兔子的對數。每個月過去,當月兔子的對數等於上月兔子的對數加上上月兔子的對數,然後將上月記錄的變量重新賦給上月記錄的變量,將上月記錄的變量重新賦給當月的值。該過程如下:

# include & ltiostream.h & gt

void main()

{

long f1=1,f2=1,sum = 1;// f1:上月f2:上月F2。

int n;

cout & lt& lt“兔子的數量是幾月的?”;

CIN & gt;& gtn;

for(int I = 2;我& ltn;I++) //註意這裏i=2是因為前兩個月兔子的對數是1,因為前兩個月沒有新兔子出生。

{

sum = f 1+F2;

F2 = f 1;

f 1 = sum;

}

cout & lt& lt“第壹”

}

  • 上一篇:前端發展方向 職業規劃
  • 下一篇:1又四分之壹螺距是多少
  • copyright 2024編程學習大全網