斐波拉契數列計算c語言,用c語言斐波那契數列

本文目錄一覽:

C語言進階:求斐波那契數列

工具/材料

visual studio

01

求斐波那契數列有兩種思路:循環與遞歸。我們首先來看循環的方式。為了與實際下標對應,我設置數組第一項為0。

02

對索引i的值進行判斷:i==1,則令a[i]=1。否則a[i]=a[i-1]+a[i-2];

03

然後再添加一個列印函數,只需要列印第1-n項即可。

04

編寫測試函數,用n=5與n=10測試,代碼與結果如下:

05

在這裡,我寫出求第n項的函數,接下來只需要添加一個外函數就可以求出。

06

接下來,測試n=5與n=10,即依次調用遞歸函數計算每一個值。

07

運行的結果如下,與之前的循環一致。

斐波那契數列 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 ()

{

int i;

FILE *fp;

fp=fopen(“e:\\jieguo.txt”,”w”); // 保存的路徑,可以該。

for (i=1;i=50;i++)

fprintf(fp,”%d:%d\n”,i,fn(i));

fclose(fp);

}

注意: 程序運行的有點慢,要等一會兒, 你可以把 50改成 10 ,就能看見運行的結果了

在E盤的jieguo.txt中。

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

printf(“前%d項目和ret=%d”, m,ret);

getchar();

getchar();

return 0;

}

運行結果:

方法4:

#include stdlib.h

#include stdio.h

int Fibon1(int n);

int main()

{

int n = 0;

int m=0;

int ret = 0;

printf(“請輸入要計算的斐波那契數列的前N項總數:”);

scanf(“%d”, n);

m=n;

do

{

ret += Fibon1(n);

n–;

} while (n0);

printf(“前%d項目和ret=%d”, m,ret);

getchar();

getchar();

return 0;

}

int Fibon1(int n)

{

if (n == 1 || n == 2)

{

return 1;

}

else

{

return Fibon1(n – 1) + Fibon1(n – 2);

}

}

運行結果:

用c語言計算fibonacci數列的前50項和

#include”stdio.h”

intmain(){

longintf1,f2,i;

f1=1;f2=1;//賦初始值

for(i=1;i=20;i++){//循環20次,一次兩個,結果為前50項

printf(“%12d%12d”,f1,f2);//輸出兩項

f1=f1+f2;f2=f2+f1;//計算下面兩項

if(i%2==0)//一行四個好看用

printf(“\n”);

}

return0;

}

擴展資料

C語言程序Fibonacci數列計算兔子:

#includestdio.h

#defineYEAR12

intmain()

{

intf[YEAR+1]={0,1,2};//1月和2月兔子對數分別初始化為1,2,不使用f[0]

intmonth;

for(month=3;month=YEAR;month++)//從3月份開始計算每個月總兔數

{

f[month]=f[month-1]+f[month-2];

}

for(month=1;month=YEAR;month++)//輸出12個月的總兔對數

{

printf(“%d\t”,f[month]);

}

printf(“\nsum=%d\n”,f[YEAR]);//輸出年末的兔子總數

return0;

}

求用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\n”,f);

}

波那契數列,又稱黃金分割數列,指的是這樣一個數列:0、1、1、2、3、5、8、13、21、34、……在數學上,斐波納契數列以如下被以遞歸的方法定義:

F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)在現代物理、准晶體結構、化學等領域,斐波納契數列都有直接的應用,為此,美國數學會從1963起出版了以《斐波納契數列季刊》為名的一份數學雜誌,用於專門刊載這方面的研究成果。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/256726.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-15 12:42
下一篇 2024-12-15 12:42

相關推薦

  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • 計算斐波那契數列的時間複雜度解析

    斐波那契數列是一個數列,其中每個數都是前兩個數的和,第一個數和第二個數都是1。斐波那契數列的前幾項為:1,1,2,3,5,8,13,21,34,…。計算斐波那契數列常用…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28

發表回復

登錄後才能評論