人物背景
家庭
列奧納多的父親Guilielmo(威廉),外號Bonacci(意即「好、自然」或「簡單」)。因此列奧納多就得到了外號斐波那契 (Fibonacci,意即filius Bonacci,Bonacci之子)。威廉是商人,在北非一帶工作(今阿爾及利亞Bejaia),當時仍是小伙子的列奧納多已經(jīng)開始協(xié)助父親工作。于是他就學會了阿拉伯數(shù)字。
學習
有感使用阿拉伯數(shù)字比羅馬數(shù)字更有效,列奧納多前往地中海一帶向當時著名的阿拉伯數(shù)學家學習,約于1200年回國。1202年,27歲的他將其所學寫進計算之書(Liber Abaci)。這本書通過在記帳、重量計算、利息、匯率和其他的應(yīng)用,顯示了新的數(shù)字系統(tǒng)的實用價值。這本書大大影響了歐洲人的思想,可是在三世紀后印制術(shù)發(fā)明之前,十進制數(shù)字并不流行。(例子:1482年,Ptolemaeus世界地圖 ,Lienhart Holle在Ulm印制)
成就
列奧納多曾成為熱愛數(shù)學和科學的腓特烈二世 (神圣羅馬帝國)的坐上客。
歐洲數(shù)學在希臘文明衰落之后長期處于停滯狀態(tài),直到12世紀才有復(fù)蘇的跡象。這種復(fù)蘇開始是受了翻譯、傳播希臘、阿拉伯著作的刺激。對希臘與東方古典數(shù)學成就的發(fā)掘、探討,最終導致了文藝復(fù)興時期(15~16世紀)歐洲數(shù)學的高漲。文藝復(fù)興的前哨意大利,由于其特殊地理位置與貿(mào)易聯(lián)系而成為東西方文化的熔爐。意大利學者早在12~13世紀就開始翻譯、介紹希臘與阿拉伯的數(shù)學文獻。歐洲,黑暗時代以后第一位有影響的數(shù)學家斐波那契(約1175~1240),其拉丁文代表著作《算經(jīng)》、《幾何實踐》等也是根據(jù)阿拉伯文與希臘文材料編譯而成的,斐波那契,即比薩的列昂納多(Leonardo of Pisa),早年隨父在北非從師阿拉伯人習算,后又游歷地中海沿岸諸國,回意大利后即寫成《算經(jīng)》(Liber Abac·1202,亦譯作《算盤書》)!端憬(jīng)》最大的功績是系統(tǒng)介紹印度記數(shù)法,影響并改變了歐洲數(shù)學的面貌,F(xiàn)傳《算經(jīng)》是1228年的修訂版,其中還引進了著名的“斐波那契數(shù)列”!稁缀螌嵺`》(Practica Geometriae, 1220)則著重敘述希臘幾何與三角術(shù)。斐波那契其他數(shù)學著作還有《平方數(shù)書VLiberQuadratorum, 1225)、《花朵》(Flos, 1225)等,前者專論二次丟番圖方程,后者內(nèi)容多為菲德里克(Frederick)二世宮廷數(shù)學競賽問題,其中包含一個三次方程/十2x2十10x~-20求解,斐波那契論證其根不能用尺規(guī)作出(即不可能是歐幾里得的無理量),他還未加說明地給出了該方程的近似解(J一1. 36880810785)。微積分的創(chuàng)立與解析幾何的發(fā)明一起,標志著文藝復(fù)興后歐洲近代數(shù)學的興起。微積分的思想根源部分(尤其是積分學)可以追溯到古代希臘、中國和印度人的著作。在牛頓和萊布尼茨最終制定微積分以前,又經(jīng)過了近一個世紀的醞釀。在這個醞釀時期對微積分有直接貢獻的先驅(qū)者包括開普勒、卡瓦列里、費馬、笛卡)U、沃利斯和巴羅(1.Barrow,1630~1677)等一大批數(shù)學家。
質(zhì)數(shù)
斐波那契質(zhì)數(shù)由斐波那契序列中的質(zhì)數(shù)組成,是整數(shù)質(zhì)數(shù)序列.
第一組質(zhì)數(shù)序列是:2,3,5,13,89,233,1597,28657,514229,433494437,2971215073,....
數(shù)列
斐波那契在《算盤書》中提出了一個有趣的兔子問題:
一般而言,兔子在出生兩個月后,就有繁殖能力,一對兔子每個月能生出一對小兔子來。如果所有兔都不死,那么一年以后可以繁殖多少對兔子?
我們不妨拿新出生的一對小兔子分析一下:
第一個月小兔子沒有繁殖能力,所以還是一對;
兩個月后,生下一對小兔總數(shù)共有兩對;
三個月以后,老兔子又生下一對,因為小兔子還沒有繁殖能力,所以一共是三對;
……
依次類推可以列出下表:
經(jīng)過月數(shù) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
幼仔對數(shù) | 1 | 0 | 1 | 1 | 2 | 3 | 5 | 8 | 13 | 21 | 34 | 55 | 89 |
成兔對數(shù) | 0 | 1 | 1 | 2 | 3 | 5 | 8 | 13 | 21 | 34 | 55 | 89 | 144 |
總體對數(shù) | 1 | 1 | 2 | 3 | 5 | 8 | 13 | 21 | 34 | 55 | 89 | 144 | 233 |
表中數(shù)字1,1,2,3,5,8---構(gòu)成了一個序列。這個數(shù)列有關(guān)十分明顯的特點,那是:前面相鄰兩項之和,構(gòu)成了后一項。這個數(shù)列是意大利中世紀數(shù)學家斐波那契在《算盤書》中提出的,這個級數(shù)的通項公式,除了具有an+2=an+an+1的性質(zhì)外,還可以證明通項公式為:an=1/√5[(1/2+√5/2)^n-(1/2-√5/2)^n](n=1,2,3.....)(√5表示根號5)
這個通項公式中雖然所有的an都是正整數(shù),可是它們卻是由一
些無理數(shù)表示出來的。
即在較高的序列,兩個連續(xù)的“斐波納契數(shù)”的序列相互分割
將接近黃金比例(1.618:1或1:0.618)。
例如:233/144,987/610、、、、
斐波那契數(shù)列還有兩個有趣的性質(zhì)
⒈斐波那契數(shù)列中任一項的平方數(shù)都等于跟它相鄰的前后兩項的乘積加1或減1;
⒉任取相鄰的四個斐波那契數(shù),中間兩數(shù)之積(內(nèi)積)與兩邊兩數(shù)之積(外積)相差1.
同樣我們還可以有t階斐波那契數(shù)列,通過遞推數(shù)列a(n+t)=a(n+t-1)+a(n+t-2)+...+a(n),其中a⑴=a⑵=1,以及對于3-t<=n<=0,有a(n)=0.
給出了t階斐波那契數(shù)列的通項公式:
[r^(n-1)(r-1)/((t+1)r-2t)],其中r是方程x^{t+1}-2x^t+1=0的唯一一個大于1的正數(shù)根(可以看出r非常接近2)
計算機程序編譯實例代碼:
C語言:
#include"stdio.h"
#defineMax10000//最長數(shù)據(jù)長度除以四,開10000時理論上單個數(shù)應(yīng)該能輸?shù)?0000位的長度。
inta[Max],b[Max],n;
voidadd(intc[],intd[])
{
for(inti=0;i
c[i]+=d[i];
for(inti=0;i
if(c[i]>=10000)
{
c[i+1]+=c[i]/10000;
c[i]%=10000;
}
}
voidprint(intc[])
{
boolk=false;
for(inti=Max-1;i>=0;i--)
{
if(k==true)
printf("%d%d%d%d",c[i]/1000,c[i]%1000/100,c[i]%100/10,c[i]%10);
elseif(c[i]!=0)
{
printf("%d",c[i]);
k=true;
}
}
printf("");
}
intmain()
{
while(n<2)//n的大小
scanf("%d",&n);
a=1;
b=1;
printf("11");
for(inti=1;i
{
if(i&1==1)
{
add(a,b);
print(a);
}
else
{
add(b,a);
print(b);
}
}
getchar();
getchar();
return0;
}
如要需要可更改Max的大小來更改范圍。這是萬進制的。
輸入輸出到文件請自行添加。
FreePascal:
vara:array[1..10000]ofqword;
i:longint;
n:qword;
begin
readln(n);
a:=1;
a:=2;
fori:=3tondo
a[i]:=a[i-1]+a[i-2];
fori:=1tondowrite(a[i],’’);
readln;
end.
輸入輸出到文件請自行添加,此處可以打出n位以內(nèi)所有斐波那契數(shù)列。
Java語言
publicclassFibonacciPrint{
publicstaticvoidmain(Stringargs[]){
intn=Integer.parseInt(args);
FibonacciPrintt=newFibonacciPrint();
for(inti=1;i<=n;i++){
t.print(i);
}
}
publicvoidprint(intn){
intn1=1;//第一個數(shù)
intn2=1;//第二個數(shù)
intsum=0;//和
if(n<=0){
System.out.println("參數(shù)錯誤!");
return;
}
if(n<=2){
sum=1;
}else{
for(inti=3;i<=n;i++){
sum=n1+n2;
n1=n2;
n2=sum;
}
}
System.out.println(sum);
}
Drracket:
(define(Fibonaccin)
(cond((=n0)1.0)
((=n1)1.0)
((>n1)(+(Fibonacci(-n1))(Fibonacci(-n2))))))
重要作品
Liber Abaci(算盤全書,1202年)。
Practica Geometriae(1220年),幾何學和三角學概論
Flos(1225年),Johannes of Palermo提出的問題的答案
Liber quadratorum,關(guān)于丟番圖方程的問題on Diophantine problems,that is,problems involving Diophantine equations.
Di minor guisa(關(guān)于商業(yè)運算;己佚)
《幾何原本》第十卷的注釋(已佚)