用c語言實現求斐波那契數列中的任意項的值

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

由此可見斐波那契數列是從第三項開始的值爲前兩項之和,即
1,2,3,5,8,13,21…

用c語言實現求某項的值:

#include <stdio.h>
#include <math.h>

int main(void){
    int n,i;
    int f1,f2,f3;
    f1=1;
    f2=2;
    printf("請輸入待求項:");
    scanf("%d",&n);
    if (1==n) {
        
        printf("待求項爲%d\n",n);
    }else if (2==n){
        printf("待求項爲%d\n",n);
    }else{
        for (i=3; i<=n; i++) {
            f3=f1+f2;
            f1=f2;
            f2=f3;
    }
        printf("待求項爲%d\n",f3);
    }
}

注意:核心即爲給出第一項爲1,第二項爲2,用if語句判斷輸入的項數是否爲前兩項之後,用for循環語句從第二項開始循環至待求項,循環體內容即爲前兩項之和,然後將新項作爲第二項,將之前的第二項作爲第一項後繼續循環即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章