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

C語言編程斐波那契

發布時間: 2022-08-28 14:02:02

1. c語言編程:寫出斐波那契數列的前40個數

#include <stdio.h>

int main()

{

int f1 = 1;

int f2 = 1;

int f3,i;

printf("%d %d ",f1,f2);

for(i = 1; i <= 38; i++)

{

f3 = f1 + f2;

printf("%d ",f3);

f1= f2;

f2= f3;

}

printf(" ");

return 0;

}

(1)C語言編程斐波那契擴展閱讀:

在數學上,斐波那契數列以如下被以遞推的方法定義:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)

遞推公式

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

如果設F(n)為該數列的第n項(n∈N*),那麼這句話可以寫成如下形式::F(n)=F(n-1)+F(n-2)

顯然這是一個線性遞推數列。

平方與前後項

從第二項開始,每個偶數項的平方都比前後兩項之積少1,每個奇數項的平方都比前後兩項之積多1。

2. 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;

}

程序運行結果如下:


(2)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;

}

3. c語言求編程:菲波那契數

我看你的下標是從0開始算的所以跟你的對應關系一樣 6->8:
#include <stdio.h>
#include <stdlib.h>
void main(void)
{

int n1 = 0, n2 = 1, n, i, value;

printf("Input an integer number:");
scanf("%d", &value);
if (value <= 0)
{
printf("Input Error");

exit(0);
}

if (value == 1)
{
printf("0\n1\n");
}

else
{
printf("0\n1\n");
for(i=0;i<value-1; i++)
{
n=n1+n2;
printf("%ld\n", n);
n1=n2;
n2=n;
}
}

}

4. 用C語言編程 斐波那契數列:1,1,2,3,5,8,13…,輸出前13項,每行輸出5個數。

public class FeiBoMethod {

// 使用遞歸方法

private static int getSum(int num) {

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

return 1;

else

return getSum(num- 1) + getFibo(num- 2);

}

public static void main(String[] args) {

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

for (int i = 1; i <= 13; i++) {

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

if (i % 5 == 0)

System.out.println();

}

}

}

(4)C語言編程斐波那契擴展閱讀:

使用數組的方式實現

publicclassFeiBoMethod{

//定義數組方法

publicstaticvoidmain(String[]args){

intarr[]=newint[13];

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

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

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

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

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

if(i%5==0)

System.out.println();

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

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

}

(5)C語言編程斐波那契擴展閱讀:

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

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

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

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

6. C語言 斐波那契數列怎麼寫

#include<stdio.h>

int main(void)

{ int i,n,a[50]={1,1};

scanf("%d",&n);

for(i=2; i<n; i++)

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

for(i=0;i<n;i++)

printf("%d ",a[i]);

return 0;

}

7. c語言.計算斐波那契數列的前n項和(s),四種方法

方法2:

#include <stdlib.h>
#include <stdio.h>

int Fibon1(int n)
{
if (n == 1 || n == 2)
{
return 1;
}
else
{
return Fibon1(n - 1) + Fibon1(n - 2);
}
}

int main()
{
int n = 0;
int m=0;
int ret = 0;
printf("請輸入要計算的斐波那契數列的前N項總數:");
scanf("%d", &n);
m=n;
do
{
ret += Fibon1(n);
n--;
} while (n>0);

printf("前%d項目和ret=%d", m,ret);
getchar();
getchar();
return 0;
}

運行結果:

8. C語言 斐波那契數列怎麼寫

#
include

int
main
(void)
{
int
a,
b,
c,
d,
n;
printf("請輸入您需要查找的序列號:
");
scanf("%d",
&n);
//
n
為要查找的序列;
d
用來循環計次;
c
用來求n項的值;
a
=
0;
//第零列
b
=
1;
//第一列
if
(n
==
1)
printf("序列號1值為:
1\n");
else
if
(n
==
2)
printf("序列號2值為:
1\n");
else
{
for
(d=2;
d

評論
0

0

0

載入更多

9. 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]);
}

//如有其他問題請追問,我們很榮幸為你解答。