斐波那契數列用數學表示式怎樣表示

時間 2021-08-11 18:04:22

1樓:

斐波那契數列(fibonacci sequence),又稱**分割數列、因數學家列昂納多·斐波那契(leonardoda fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數列”,指的是這樣一個數列:1、1、2、3、5、8、13、21、34、……在數學上,斐波納契數列以如下被以遞迴的方法定義:f(0)=1,f(1)=1, f(n)=f(n-1)+f(n-2)(n>=2,n∈n*)在現代物理、準晶體結構、化學等領域,斐波納契數列都有直接的應用,為此,美國數學會從1963起出版了以《斐波納契數列季刊》為名的一份數學雜誌,用於專門刊載這方面的研究成果。

遞推公式

斐波那契數列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...

如果設f(n)為該數列的第n項(n∈n*),那麼這句話可以寫成如下形式::f(n)=f(n-1)+f(n-2)

顯然這是一個線性遞推數列。

(如上,又稱為“比內公式”,是用無理數表示有理數的一個範例。)

2樓:清朝的大學

an=(1/√5)*

用數學歸納法證明斐波那契數列公式

3樓:鈺瀟

假設對小或等於n的自然數k,a(k)=/sqrt(5)都成立,當n=k+1時,就有

a(k+1)=a(k)+a(k-1)

=/sqrt(5)+/sqrt(5)

=/sqrt(5)

=/sqrt(5)

=/sqrt(5)

=/sqrt(5)

這就說明公式對n=k+1也成立。

4樓:洪火

給你點資料,看完自然就會了!

斐波那契數列,“斐波那契數列”的發明者,是義大利數學家列昂納多·斐波那契(leonardo fibonacci,生於公元2023年,卒於2023年。籍貫大概是比薩)。他被人稱作“比薩的列昂納多”。

2023年,他撰寫了《珠算原理》(liber abaci)一書。他是第一個研究了印度和阿拉伯數學理論的歐洲人。他的父親被比薩的一家商業團體聘任為外交領事,派駐地點相當於今日的阿爾及利亞地區,列昂納多因此得以在一個阿拉伯老師的指導下研究數學。

他還曾在埃及、敘利亞、希臘、西西里和普羅旺斯研究數學。

斐波那契數列指的是這樣一個數列:1,1,2,3,5,8,13,21……

這個數列從第三項開始,每一項都等於前兩項之和。它的通項公式為:(1/√5)*【√5表示根號5】

很有趣的是:這樣一個完全是自然數的數列,通項公式居然是用無理數來表達的。

【該數列有很多奇妙的屬性】

比如:隨著數列項數的增加,前一項與後一項之比越逼近**分割0.6180339887……

還有一項性質,從第二項開始,每個奇數項的平方都比前後兩項之積多1,每個偶數項的平方都比前後兩項之積少1。

如果你看到有這樣一個題目:某人把一個8*8的方格切成四塊,拼成一個5*13的長方形,故作驚訝地問你:為什麼64=65?

其實就是利用了斐波那契數列的這個性質:5、8、13正是數列中相鄰的三項,事實上前後兩塊的面積確實差1,只不過後面那個圖中有一條細長的狹縫,一般人不容易注意到。

如果任意挑兩個數為起始,比如5、-2.4,然後兩項兩項地相加下去,形成5、-2.4、2.

6、0.2、2.8、3、5.

8、8.8、14.6……等,你將發現隨著數列的發展,前後兩項之比也越來越逼近**分割,且某一項的平方與前後兩項之積的差值也交替相差某個值。

斐波那契數列的第n項同時也代表了集合中所有不包含相鄰正整數的子集個數。

【斐波那契數列別名】

斐波那契數列又因數學家列昂納多·斐波那契以兔子繁殖為例子而引入,故又稱為“兔子數列”。

斐波那契數列

一般而言,兔子在出生兩個月後,就有繁殖能力,一對兔子每個月能生出一對小兔子來。如果所有兔都不死,那麼一年以後可以繁殖多少對兔子?

我們不妨拿新出生的一對小兔子分析一下:

第一個月小兔子沒有繁殖能力,所以還是一對;

兩個月後,生下一對小兔民數共有兩對;

三個月以後,老兔子又生下一對,因為小兔子還沒有繁殖能力,所以一共是三對;

------

依次類推可以列出下表:

經過月數:0123456789101112

兔子對數:1123581321345589144233

表中數字1,1,2,3,5,8---構成了一個數列。這個數列有關十分明顯的特點,那是:前面相鄰兩項之和,構成了後一項。

這個數列是義大利中世紀數學家斐波那契在<算盤全書>中提出的,這個級數的通項公式,除了具有a(n+2)=an+a(n+1)/的性質外,還可以證明通項公式為:an=1/√[(1+√5/2) n-(1-√5/2) n](n=1,2,3.....)

【斐波那挈數列通項公式的推導】

斐波那契數列:1,1,2,3,5,8,13,21……

如果設f(n)為該數列的第n項(n∈n+)。那麼這句話可以寫成如下形式:

f(1)=f(2)=1,f(n)=f(n-1)+f(n-2) (n≥3)

顯然這是一個線性遞推數列。

通項公式的推導方法一:利用特徵方程

線性遞推數列的特徵方程為:

x^2=x+1

解得x1=(1+√5)/2, x2=(1-√5)/2.

則f(n)=c1*x1^n + c2*x2^n

∵f(1)=f(2)=1

∴c1*x1 + c2*x2

c1*x1^2 + c2*x2^2

解得c1=1/√5,c2=-1/√5

∴f(n)=(1/√5)*【√5表示根號5】

通項公式的推導方法二:普通方法

設常數r,s

使得f(n)-r*f(n-1)=s*[f(n-1)-r*f(n-2)]

則r+s=1, -rs=1

n≥3時,有

f(n)-r*f(n-1)=s*[f(n-1)-r*f(n-2)]

f(n-1)-r*f(n-2)=s*[f(n-2)-r*f(n-3)]

f(n-2)-r*f(n-3)=s*[f(n-3)-r*f(n-4)]

……f(3)-r*f(2)=s*[f(2)-r*f(1)]

將以上n-2個式子相乘,得:

f(n)-r*f(n-1)=[s^(n-2)]*[f(2)-r*f(1)]

∵s=1-r,f(1)=f(2)=1

上式可化簡得:

f(n)=s^(n-1)+r*f(n-1)

那麼:f(n)=s^(n-1)+r*f(n-1)

= s^(n-1) + r*s^(n-2) + r^2*f(n-2)

= s^(n-1) + r*s^(n-2) + r^2*s^(n-3) + r^3*f(n-3)

……= s^(n-1) + r*s^(n-2) + r^2*s^(n-3) +……+ r^(n-2)*s + r^(n-1)*f(1)

= s^(n-1) + r*s^(n-2) + r^2*s^(n-3) +……+ r^(n-2)*s + r^(n-1)

(這是一個以s^(n-1)為首項、以r^(n-1)為末項、r/s為公差的等比數列的各項的和)

=[s^(n-1)-r^(n-1)*r/s]/(1-r/s)

=(s^n - r^n)/(s-r)

r+s=1, -rs=1的一解為 s=(1+√5)/2, r=(1-√5)/2

則f(n)=(1/√5)*

【c語言程式】

main()

; int i;

for(i=2;i<40;i++)

for(i=0;i<40;i++)

return 0;

} 【pascal語言程式】

varfib: array[0..40]of longint;

i: integer;

begin

fib[0] := 1;

fib[1] := 1;

for i:=2 to 39 do

fib[i ] := fib[i-1] + fib[i-2];

for i:=0 to 39 do

write('f', i, '=', fib[i ]);

end.

【數列與矩陣】

對於斐波那契數列1,1,2,3,5,8,13…….有如下定義

f(n)=f(n-1)+f(n-2)

f(1)=1

f(2)=1

對於以下矩陣乘法

f(n+1) = 1 1 * f(n)

f(n) 1 0 f(n-1)

它的運算就是

f(n+1)=f(n)+f(n-1)

f(n)=f(n)

可見該矩陣的乘法完全符合斐波那契數列的定義

設1 為b,1 1為c

1 1 0

可以用迭代得到:

斐波那契數列的某一項f(n)=(bc^(n-2))1

這就是斐波那契數列的矩陣乘法定義.

另矩陣乘法的一個運演算法則a¬^n(n為偶數)=a^(n/2)* a^(n/2).

因此可以用遞迴的方法求得答案.

時間效率:o(logn),比模擬法o(n)遠遠高效。

**(pascal)

program fibonacci;

type

matrix=array[1..2,1..2] of qword;

varc,cc:matrix;

n:integer;

function multiply(x,y:matrix):matrix;

vartemp:matrix;

begin

temp[1,1]:=x[1,1]*y[1,1]+x[1,2]*y[2,1];

temp[1,2]:=x[1,1]*y[1,2]+x[1,2]*y[2,2];

temp[2,1]:=x[2,1]*y[1,1]+x[2,2]*y[2,1];

temp[2,2]:=x[2,1]*y[1,2]+x[2,2]*y[2,2];

exit(temp);

end;

function getcc(n:integer):matrix;

vartemp:matrix;

t:integer;

begin

if n=1 then exit(c);

t:=n div 2;

temp:=getcc(t);

temp:=multiply(temp,temp);

if odd(n) then exit(multiply(temp,c))

else exit(temp);

end;

procedure init;

begin

readln(n);

c[1,1]:=1;

c[1,2]:=1;

c[2,1]:=1;

c[2,2]:=0;

if n=1 then

begin

writeln(1);

halt;

end;

if n=2 then

begin

writeln(1);

halt;

end;

cc:=getcc(n-2);

end;

procedure work;

begin

writeln(cc[1,1]+cc[1,2]);

end;

begin

init;

work;

end.

【數列值的另一種求法】

f(n) = [ (( sqrt ( 5 ) + 1 ) / 2) ^ n ]

其中[ x ]表示取距離 x 最近的整數。

【數列的前若干項】

1 1

2 2

3 3

4 5

5 8

6 13

7 21

8 34

9 55

10 89

11 144

12 233

13 377

14 610

15 987

16 1597

17 2584

18 4181

19 6765

20 10946

斐波那契數列 1 1 2 3 5 8 13

斐波那契數列通項公式推導方法 fn 1 fn fn 1 兩邊加kfn fn 1 kfn k 1 fn fn 1 當k 1時 fn 1 kfn k 1 fn 1 k 1 fn 1 令 yn fn 1 kfn 若 當k 1 k 1,且f1 f2 1時 因為 fn 1 kfn 1 k fn kfn 1 y...

輸入資料n,計算斐波那契數列(fibonacci)的第n

寫一個短的,用遞推的 速度比較快 int fibo int n 還有一種數學方法 直接出解,但可能有精度問題 int fibo int n 之思迪 直接用遞推的方法來解決 int main int n,i scanf d n if n 2 printf fib d n fib n 1 void ma...

斐波那契數列有沒有通項公式

an 1 根號5 n屬於正整數 這個數列是由13世紀義大利斐波那契提出的的,故叫斐波那契數列。該數列由下面的遞推關係決定 f0 0,f1 1 fn 2 fn fn 1 n 0 它的通項公式是 fn 1 根號5 n屬於正整數 補充問題 菲波那契數列指的是這樣一個數列 1,1,2,3,5,8,13,21...