當前位置:首頁 » 編程語言 » 斐波那契數列前20項和c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

斐波那契數列前20項和c語言

發布時間: 2022-01-13 06:14:31

⑴ ,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]);

}

(1)斐波那契數列前20項和c語言擴展閱讀:

如何掌握C語言基礎知識及技巧:

首先准備一台PC,學編程一般對PC沒有太大的要求,一般主流的配置就好。

有了電腦之後,就得考慮安裝什麼操作系統了,主流使用的操作系統是windows,不過在這里不建議學習C編程使用windows,建議使用Linux。所以學習者最好安裝雙系統,或者徹底習慣Linux系統。

不管學習哪門編程語言,都建議學習者必須有一本關於此語言的全面知識的書籍,大一般採用的是譚浩強老師的《C語言程序設計》,還有 《C語言C++學習指南》從入門到精通(語法篇)視頻課程在線學習等,建議學習者可以去仔細研讀

⑵ 在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)

以上內容參考:網路-斐波那契數列

⑶ C語言 寫程序,輸出斐波那契數列的前20項,每行輸出4個數

方法一for循環

publicclassFeiBoMethod{

定義三個變數方法

publicstaticvoidmain(String[]args){

inta=1,b=1,c=0;

System.out.println("斐波那契數列前20項為:");

System.out.print(a+"\t"+b+"\t");

因為前面還有兩個1、1所以i<=18

for(inti=1;i<=18;i++){

c=a+b;

a=b;

b=c;

System.out.print(c+"\t");

if((i+2)%4==0)

System.out.println();

方法2使用數組的方式實現

publicclassFeiBoMethod{

定義數組方法

publicstaticvoidmain(String[]args){

intarr[]=newint[20];

arr[0]=arr[1]=1;

for(inti=2;i<arr.length;i++){

arr[i]=arr[i-1]+arr[i-2];

System.out.println("斐波那契數列的前20項如下所示:");

for(inti=0;i<arr.length;i++){

if(i%4==0)

System.out.println();

System.out.print(arr[i]+"\t");

(3)斐波那契數列前20項和c語言擴展閱讀:

遞歸實現

publicclassFeiBoMethod{

使用遞歸方法

privatestaticintgetSum(intnum){

if(num==1||num==2)

return1;

else

returngetSum(num-1)+getFibo(num-2);

publicstaticvoidmain(String[]args){

System.out.println("斐波那契數列的前20項為:");

for(inti=1;i<=20;i++){

System.out.print(getSum(i)+"\t");

if(i%4==0)

System.out.println();

⑷ Fibonacci數列 求第20項和前20項和的c語言程序,幫忙看看哪出問題了

cout<<Fibonacci(&sum, 20)
<<endl
<<sum
<<endl;

這一句改成
cout<<Fibonacci(&sum, 20)
<<endl;

cout<<sum<<endl;
這兩句運行出來就不是0了。。。

其實你sum已經定義成全局變數了。。。沒有必要用指針傳值的方式了哦。。。。

你把代碼改成下面這樣。。。

#include <iostream.h>

int sum = 0;
int Fibonacci(int i);
void main()
{

cout<<Fibonacci(20)<<endl;

cout<<sum<<endl;
}
int Fibonacci(int i)
{
if(i == 1) return 1;
if(i == 2) return 2;
sum += Fibonacci(i - 1);
return Fibonacci(i - 1) + Fibonacci(i - 2);

}

你試試吧。。。我運行出來結果不是0了。。。。

⑸ 求出斐波那契數列前20項的C語言程序 快幫幫忙哦

斐波那契數列的遞推公式為Fn=Fn-1+Fn-2,F1=F2=1
int a,b,F,i,S20;
a=b=1;
S20=a+b;
for(i=3;i<=20;i++){
F=a+b;a=b;b=F;S20+=F;}
這個S20就是所求的前20項和。

⑹ 初學C語言菜鳥求助:顯示斐波那契數列前20項,用一維數組編寫

斐波那契數列應該是:0,1,1,2,3,5,8,13,21,34,55,89,144,233,...
規律是:f[0]=0,f[1]=1,f[i]=f[i-1]+f[i-2],i>1
#include
<stdio.h>
void
main()
{
int
i,fib[20]={0,1};
for
(i=2;
i<20;
i++)
{
fib[i]=fib[i-2]+fib[i-1];
}
for
(i
=
0;
i<20;
i++)
{
printf("%d
",fib[i]);
}
}

⑺ C語言斐波那契數列前20項

如果是筆試而且題目沒有規定輸出格式時,兩種都可以;
如果是由機器測試程序,則必須 與試題規定的輸出格式相一致才能算對的。它要求怎麼樣,就必須完全一樣。

⑻ C語言中,求出斐波那契數列的前20項

斐波那契數列是:1,1,2,3,5,8,13,21,34,55,89...

規律是:f[0]=1,f[1]=1,f[i]=f[i-1]+f[i-2],i>1

#include <stdio.h>

void main()
{
int i,array[20]={1,1};

for (i=2; i<20; i++)
{
array[i]=array[i-2]+array[i-1];
}
for (i = 0; i<20; i++)
{
printf("%d ",array[i]);
}
printf("\n");
}

寫好了,看一下,測試通過。。。
追問
那個能不能就是四個數四個數放一行??

追答
#include <stdio.h>

void main()
{
int i,array[20]={1,1};

for (i=2; i<20; i++)
{
array[i]=array[i-2]+array[i-1];
}
for (i = 0; i<20; i++)
{
printf("%4d\t",array[i]);
if((i+1)%4 == 0)
{
printf("\n");
}
}
printf("\n");
}
可以,想怎麼樣都可以。。。左右對齊都可以。。這里是右對齊~
把printf("%4d\t",array[i]);中的4去掉,就是左對齊,這個好看點。。

⑼ C語言:編寫程序用數組處理求解Fibonacci數列前20項之和並輸出。

斐波那契數列通項公式:斐波那契數列指的是這樣一個數列:1、1、2、3、5、8、13、21、……這個數列從第三項開始,每一項都等於前兩項之和。
#include<stdio.h>
int main()
{
int a[20]={1,1},i=2;
printf("a[0]=a[1]=");
for(i=2;i<20;i++)
{
a[i]=a[i-1]+a[i-2];
// a[i-2]=a[i-1]; 這兩行是多餘的
// a[i-1]=a[i];
if(i%4==0)
printf("\n");
printf("a[%d]=%d ",i,a[i]);//加了格式說明符以及空格。
}
return 0;
}

⑽ c語言,編程實現,求斐波那契數列,1,1,2,3,5,8,......的前20項及前20項和

C語言源程序如下:

#include<stdio.h>

int main()

{

int array[100]={1,1};//斐波那契數列前兩個元素均為0

int i=0;//循環變數

int n=20;//數列需要求的個數

int sum = 0;//和變數

for(i=2;i<n+1;i++)//按遞推原理依次求出後續元素

{

array[i]=array[i-1]+array[i-2];//數列原理

}

printf("arr[1]-arr[%d] = ", n);//提示輸出數列元素

for (i = 0; i < n; i++)//遍歷數列

{

printf("%d ",array[i]);//輸出arr[1]-arr[n]元素內容

sum += array[i];//順便進行求和

}

printf(" %d ", sum);//輸出求和結果

return 0;

}

程序運行結果如下:


(10)斐波那契數列前20項和c語言擴展閱讀:

利用遞歸原理進行求斐波那契數列的求解和求前n項和:

#include<stdio.h>

int fibonacci(int n) //遞歸函數

{

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 ", i, fibonacci(i));

}

return 0;

}