#include
創(chuàng)新互聯(lián)是專業(yè)的丹東網(wǎng)站建設(shè)公司,丹東接單;提供網(wǎng)站設(shè)計、成都做網(wǎng)站,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行丹東網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
int
fib(int
n)//遞歸函數(shù)
{
//斐波那契數(shù)列算法
if(n==1||n==2)
return
1;
return
fib(n-1)+fib(n-2);
}
int
main()
{
int
n;
scanf("%d",n);
printf("%d\n",fib(n));
return
0;
}
#include "stdio.h"
int fb(int a1, int a2, int n); //斐波那契求和函數(shù)原型申明
int main()
{
int a, b, n, s;
scanf("%d%d%d", a, b, n);
s = fb(a, b, n);
printf("%d\n", s);
}
int fb(int a1, int a2, int n)
{
if(n==1)
? return a1;
if(n==2)
? return a2;
return fb(a1,a2,n-1)+fb(a1,a2,n-2);
}
#include stdio.h
main( ){
long f1,f2,f;
int i,n;
scanf("%d",n);
f1=f2=1;
if(n=2)
f=1;
else
for(i=3;i=n;i++){
f=f1+f2;
f1=f2;
f2=f;
}
printf("%ld\n",f);
}
波那契數(shù)列,又稱黃金分割數(shù)列,指的是這樣一個數(shù)列:0、1、1、2、3、5、8、13、21、34、……在數(shù)學上,斐波納契數(shù)列以如下被以遞歸的方法定義:
F(0)=0,F(xiàn)(1)=1,F(xiàn)(n)=F(n-1)+F(n-2)(n≥2,n∈N*)在現(xiàn)代物理、準晶體結(jié)構(gòu)、化學等領(lǐng)域,斐波納契數(shù)列都有直接的應用,為此,美國數(shù)學會從1963起出版了以《斐波納契數(shù)列季刊》為名的一份數(shù)學雜志,用于專門刊載這方面的研究成果。
C語言源程序如下:
#includestdio.h
int main()
{
int array[100]={1,1};//斐波那契數(shù)列前兩個元素均為0
int i=0;//循環(huán)變量
int n=20;//數(shù)列需要求的個數(shù)
int sum = 0;//和變量
for(i=2;in+1;i++)//按遞推原理依次求出后續(xù)元素
{
array[i]=array[i-1]+array[i-2];//數(shù)列原理
}
printf("arr[1]-arr[%d] = ", n);//提示輸出數(shù)列元素
for (i = 0; i n; i++)//遍歷數(shù)列
{
printf("%d ",array[i]);//輸出arr[1]-arr[n]元素內(nèi)容
sum += array[i];//順便進行求和
}
printf("\n%d ", sum);//輸出求和結(jié)果
return 0;
}
程序運行結(jié)果如下:
擴展資料:
利用遞歸原理進行求斐波那契數(shù)列的求解和求前n項和:
#includestdio.h
int fibonacci(int n) //遞歸函數(shù)
{?
if (n == 0 || n == 1) ?
return 1; ? ?
if (n 1) ? ? ? ?
return fibonacci(n - 1) + fibonacci(n - 2);?
}?
int main()?
{?
int i = 0; ? ?
for (i = 0; i 30; i++)?
{?
printf("fibonacci(%d) = %d\n", i, fibonacci(i));?
} ? ?
return 0;?
}
你聲明的fb函數(shù),它的輸入?yún)?shù)是一個數(shù)組
int?fb(int?a[])
但是你在調(diào)用的時候,卻將一個值賦值給它,
s=fb(a[i]);
因此輸入?yún)?shù)不匹配,會出現(xiàn)錯誤。
建議,在fb函數(shù)中,專門設(shè)置一個輸入?yún)?shù),用來表明數(shù)列的第幾項,即
int?fb(int?a[],?int?n)
調(diào)用的時候,修改調(diào)用方式:
s=fb(a,?i);