A. c語言斐波那契數列
利用斐波拉其數列計算公式計算:
(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}
B. 斐波那契數列C語言程序怎麼表示
#include<cstdio>
#include<iostream>
usingnamespacestd;
intmain()
{
intn;
cin>>n;
inta=1,b=1,c;
if(n<3)
{
cout<<1<<endl;
return0;
}
n-=2;
while(n--)
{
c=a+b;
a=b;
b=c;
}
cout<<c<<endl;
return0;
}
輸入n為第n項,輸出斐波那契第n項值
C. 用C語言表達斐波那契數列,怎麼做
#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
",f);
}
D. c語言編程問題 關於斐波那契數列
//先整理一下你的程序,如下:
#include<stdio.h>
void
main()
{
int
i,n;
int
a[40];
a[0]=0;
a[1]=1;
scanf("%d",&n);
if(n==0)
printf("0\n");
if(n==1)
printf("1\n");
if(n>=2)
for(i=2;i<=n;i++)
a[i]=a[i-1]+a[i-2];
printf("%d\n",a[n]);
//可以看出,這里只輸出了a[n]一個元素,正確的做法是將該句放在一個循環結構里,輸出所有元素
}
//正確的完整程序,如下:
#include<stdio.h>
void
main()
{
int
i,n;
int
a[40];
a[0]=0;
a[1]=1;
scanf("%d",&n);
if(n==0)
printf("0\n");
if(n==1)
printf("1\n");
if(n>=2)
for(i=2;i<=n;i++)
a[i]=a[i-1]+a[i-2];
for(i=0;i<=n;i++)
printf("%d\n",a[i]);
}
//如有其他問題請追問,我們很榮幸為你解答。
E. 斐波那契數列 c語言
#include <stdio.h>
int fn(int a){
if (a==1) return 1;
else if (a==2) return 2;
else return fn(a-1)+fn(a-2);
}
void main (){
for (int i=1;i<=50;i++)
printf("%d::%d ",i,fn(i));
}
F. ,c語言:利用數組求斐波那契數列的前20項
代碼如下:
int a[20]={1,1};
printf(「%d %d 」,a[0],a[1]);
for(int i=0;i<20;i++)
{
printf(「%d 」,a[i]=a[i-1]+a[i-2]);
}
(6)斐波那契數列與c語言擴展閱讀:
如何掌握C語言基礎知識及技巧:
首先准備一台PC,學編程一般對PC沒有太大的要求,一般主流的配置就好。
有了電腦之後,就得考慮安裝什麼操作系統了,主流使用的操作系統是windows,不過在這里不建議學習C編程使用windows,建議使用Linux。所以學習者最好安裝雙系統,或者徹底習慣Linux系統。
不管學習哪門編程語言,都建議學習者必須有一本關於此語言的全面知識的書籍,大一般採用的是譚浩強老師的《C語言程序設計》,還有 《C語言C++學習指南》從入門到精通(語法篇)視頻課程在線學習等,建議學習者可以去仔細研讀
G. 在c語言中,如何利用數組求斐波那契數列的前20項
#include<stdio.h>
intmain()
inti,fib[20]={0,1};
for(i=2;i<20;i++)
fib[i]=fib[i-2]+fib[i-1];
printf("%d",fib[19]);return0;
#include<stdio.h>
void main()
{long sum=0;
long a[20];
int i;
a[0]=1;a[1]=1;
for(i=2;i<20;i++)
a[i]=a[i-1]+a[i-2];
for(i=0;i<20;i++)
sum=sum+a[i];
printf("%ld",sum);
}
數列與矩陣
對於斐波那契數列1、1、2、3、5、8、13、……。有如下定義
F(n)=F(n-1)+F(n-2)
F(1)=1
F(2)=1
對於以下矩陣乘法
F(n+1) = (1,1 ) (F(n),F(n-1))T
F(n) =(1,0 ) (F(n),F(n-1))T
它的運算就是右邊的矩陣 (1,1)乘以矩陣(F(n),F(n-1)),右邊的矩陣(1,0 ) 乘以矩陣(F(n),F(n-1)),得到:
F(n+1)=F(n)+F(n-1)
F(n)=F(n)
以上內容參考:網路-斐波那契數列
H. 求用C語言表達斐波那契數列
#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
",f);
}
I. 斐波那契數列的通項公式在C語言中如何表達
斐波那契數列在數學上的通項公式為
An=An-1+An-2
在C語言中,根據演算法實現不同,可以有很多種表達方式。以計算斐波那契第N項值為例,說明如下。
一、以數組方式實現:
intfn(intn)
{
int*a,i,r;
a=(int*)malloc(sizeof(int)*n);//分配動態數組。
a[0]=1;
a[1]=1;//初始化前兩項。
for(i=2;i<n;i++)
{
a[i]=a[i-1]+a[i-2];//這里就是通項公式的一種實現形式。
}
r=a[n-1];//保存結果
free(a);//釋放動態數組
returnr;//返回結果值。
}
二、以遞歸函數形式:
intfn(intn)
{
if(n==0||n==1)return1;//前兩項固定值。
returnfn(n-1)+fn(n-2);//通過遞歸調用實現通項公式。
}
三、注意事項:
1、方法有很多,不可能窮舉完成,寫代碼時要靈活使用。
2、例子中以int保存,限於整型範圍,計算很大值時會出現溢出。 根據實際需要選擇類型。
J. C語言斐波那契數列求和問題
有兩個問題,一個是f函數邏輯上有問題,第二個主函數調用有問題,sum=sum+f(i)而不是n,修改如下:
#include<stdio.h>
int
f(int
n);
void
main(void)
{
int
n,sum=0;
scanf("%d",&n);
for(int
i=1;i<=n;i++)
sum=sum+f(i);
printf("the
sum
is:%d\n",sum);
}
int
f(int
n)
{
int
k;
if(n==1)
k=1;
else
if(n==2)
k=1;
else
k=f(n-1)+f(n-2);
return
k;
}