c語(yǔ)言輸出斐波那契數(shù)列前n項(xiàng) 斐波那契數(shù)列的通項(xiàng)公式在C語(yǔ)言中如何表達(dá)?
斐波那契數(shù)列的通項(xiàng)公式在C語(yǔ)言中如何表達(dá)?斐波那契數(shù)列在數(shù)學(xué)上的通式是an=an-1和an-2。在C語(yǔ)言中,根據(jù)不同的算法有許多表達(dá)式。以斐波那契n值的計(jì)算為例,說(shuō)明如下。1、 在數(shù)組中實(shí)現(xiàn):int
斐波那契數(shù)列的通項(xiàng)公式在C語(yǔ)言中如何表達(dá)?
斐波那契數(shù)列在數(shù)學(xué)上的通式是an=an-1和an-2。在C語(yǔ)言中,根據(jù)不同的算法有許多表達(dá)式。以斐波那契n值的計(jì)算為例,說(shuō)明如下。1、 在數(shù)組中實(shí)現(xiàn):int FN(int n){int*a,I,ra=(int*)malloc(sizeof(int)*n)//分配動(dòng)態(tài)數(shù)組。A[0]=1 A[1]=1//初始化前兩項(xiàng)。對(duì)于(I=2i<ni){a[I]=a[I-1]a[I-2]//這里是一般項(xiàng)公式的實(shí)現(xiàn)。}R=a[n-1]//自由保存結(jié)果(a)//釋放動(dòng)態(tài)數(shù)組返回R//返回結(jié)果值。}2、 遞歸函數(shù)形式:int FN(int n){if(n==0 | n==1)返回1//前兩個(gè)固定值。Return FN(n-1)FN(n-2)//通過(guò)遞歸調(diào)用實(shí)現(xiàn)通項(xiàng)公式。}3、 注:1、方法很多,不能窮盡,編寫(xiě)代碼要靈活使用。2在本例中,它保存為int,該值僅限于整數(shù)范圍。計(jì)算大值時(shí)會(huì)發(fā)生溢出。根據(jù)實(shí)際需要選擇型號(hào)。
c語(yǔ)言:利用數(shù)組求斐波那契數(shù)列的前20項(xiàng)?
代碼如下:
int a[20]={1,1};
printf(%%dT%dT”,a[0],a[1]);
for(int i=0;i<20;i)
{
printf(%%dT”,a[i]=a[i-1]a[i-2]);
}