c語言斐波那契數(shù)列前20 斐波那契數(shù)列的通項公式在C語言中如何表達(dá)?
斐波那契數(shù)列的通項公式在C語言中如何表達(dá)?斐波那契數(shù)列在數(shù)學(xué)上的通項公式為An=An-1 An-2在C語言中,根據(jù)算法實現(xiàn)不同,可以有很多種表達(dá)方式。以計算斐波那契第N項值為例,說明如下。一、以數(shù)組方
斐波那契數(shù)列的通項公式在C語言中如何表達(dá)?
斐波那契數(shù)列在數(shù)學(xué)上的通項公式為An=An-1 An-2在C語言中,根據(jù)算法實現(xiàn)不同,可以有很多種表達(dá)方式。以計算斐波那契第N項值為例,說明如下。一、以數(shù)組方式實現(xiàn):int fn(int n){ int *a,i,r a=(int *)malloc(sizeof(int)*n)//分配動態(tài)數(shù)組。 a[0]=1 a[1]=1//初始化前兩項。 for(i = 2 i<n i ) { a[i]=a[i-1] a[i-2]//這里就是通項公式的一種實現(xiàn)形式。 } r = a[n-1]//保存結(jié)果 free(a)//釋放動態(tài)數(shù)組 return r//返回結(jié)果值。 }二、以遞歸函數(shù)形式:int fn(int n){ if(n == 0 || n == 1) return 1//前兩項固定值。 return fn(n-1) fn(n-2)// 通過遞歸調(diào)用實現(xiàn)通項公式。 }三、注意事項:1、方法有很多,不可能窮舉完成,寫代碼時要靈活使用。2、例子中以int保存,限于整型范圍,計算很大值時會出現(xiàn)溢出。根據(jù)實際需要選擇類型。
c語言,編程實現(xiàn),求斐波那契數(shù)列,1,1,2,3,5,8,……的前20項及前20項和?
簡單說一下,這數(shù)列是前兩項是1,然后是前兩項加起來的和,再往后是第一個數(shù)加最后面的書,比如創(chuàng)建一個R1,一個R2,他們一開始都是1,一個temp{temp=R1 R2;R1=R2;R2=temp;}