0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用遞歸函數(shù)計算斐波那契數(shù)列中的第n項值

冬至子 ? 來源:風(fēng)景郵遞Yuan ? 作者:風(fēng)景郵遞Yuan ? 2023-06-07 11:30 ? 次閱讀

編寫一個遞歸函數(shù),用于計算斐波那契數(shù)列中的第n項值,并在主函數(shù)中調(diào)用該函數(shù)輸出斐波那契數(shù)列的前15項。

斐波那契數(shù)列:1,1,2,3,5,8,13,21,……

可表示為:f(n)=1,當(dāng)n<=2;f(n)=f(n-1)+f(n-2),當(dāng)n>2;



Python實現(xiàn):
# 遞歸函數(shù),計算斐波那契數(shù)列中的第n項值
def fibonacci(n):
    if n <= 2:
        return 1
else:
        return fibonacci(n-1) + fibonacci(n-2)

# 主函數(shù),輸出斐波那契數(shù)列的前15項
if __name__ == '__main__':
    for i in range(1, 16):
        print(fibonacci(i), end=' ')

C語言實現(xiàn):

在C語言中,遞歸是一種函數(shù)調(diào)用自身的技術(shù)。它可以使解決問題的算法更加簡單和優(yōu)雅。

遞歸函數(shù)包括兩個部分:遞歸基或終止條件和遞歸部分。遞歸基是指一個最簡單的情況,不再需要調(diào)用自身即可返回結(jié)果。遞歸部分是指將問題分解為更小的相同問題的步驟,每次調(diào)用自身時問題規(guī)模都會減小。

在編寫遞歸函數(shù)時,需要注意避免無限循環(huán)和過多的遞歸,否則會導(dǎo)致程序崩潰或棧溢出的錯誤。

以下是一個計算階乘的遞歸函數(shù)示例:

c復(fù)制代碼
int factorial(int n){
if(n == 0)
return 1; //遞歸基
else
return n * factorial(n-1); //遞歸部分
}

在這個函數(shù)中,如果n等于0,則直接返回1作為遞歸基;否則,將n乘以小于n的階乘,直到達(dá)到遞歸基條件。



#include < stdio.h >

// 遞歸函數(shù),計算斐波那契數(shù)列中的第n項值

int fibonacci(int n) {

if (n <= 2) {

return 1;

} else {

return fibonacci(n-1) + fibonacci(n-2);

}

}

// 主函數(shù),輸出斐波那契數(shù)列的前15項

int main() {

int i;

for (i = 1; i <= 15; i++) {

printf("%d ", fibonacci(i));

}

return 0;

}


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7604

    瀏覽量

    136863
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4797

    瀏覽量

    84695
收藏 人收藏

    評論

    相關(guān)推薦

    【求教貼】MSI chips設(shè)計一個fibonacci 計數(shù)器

    display decoder 顯示出輸出的數(shù)列,輸出結(jié)果如下0,1,1,2,3,5,8,13.。。。。。。。目前想到要用7419
    發(fā)表于 10-05 22:48

    llabview中國挑戰(zhàn)賽第一題l

    數(shù)列。(義大利語:Successione二
    發(fā)表于 07-18 06:12

    數(shù)列

    生成數(shù)列,并求出其中偶數(shù)項之和,使用09版本編寫
    發(fā)表于 08-20 19:59

    《C Primer Plus》讀書筆記——遞歸

    ("LEVEL %d: n location %p\n" , n, &n);}輸出如下:遞歸的基本原理每級
    發(fā)表于 02-05 20:06

    求助,ARM DS-5課程作業(yè)不會寫,誰能代寫,500元

    `求助,ARM DS-5課程作業(yè)不會寫,誰能代寫,酬勞是500元主要內(nèi)容是用匯編寫寫兩個計算數(shù)列
    發(fā)表于 02-24 10:39

    exe程序之時鐘設(shè)計

    exe:exe程序之時鐘設(shè)計
    發(fā)表于 12-26 11:14

    任務(wù)和函數(shù)的區(qū)別?

    人工智能的不斷發(fā)展,機器學(xué)習(xí)這門技術(shù)也越來越重要,很多人都開啟了學(xué)習(xí)機器學(xué)習(xí),本文就介紹了機器學(xué)習(xí)的基礎(chǔ)內(nèi)容。提示:以下是本篇文章正文內(nèi)容:1分別用任務(wù)和函數(shù)實現(xiàn)
    發(fā)表于 02-09 07:47

    C語言教程之數(shù)列

    C語言教程之數(shù)列,很好的C語言資料,快來學(xué)習(xí)吧。
    發(fā)表于 04-22 11:06 ?0次下載

    遞歸指的是在函數(shù)的定義中使用函數(shù)自身的方法

    C語言支持遞歸,即一個函數(shù)可以調(diào)用其自身。但在使用遞歸時,程序員需要注意定義一個從函數(shù)退出的條件,否則會進入死循環(huán)。遞歸
    的頭像 發(fā)表于 11-12 15:06 ?7134次閱讀

    探究SMT對計算密集型workload的效果

    的效果,我自己寫了一個簡單的測試程序。 ? 使用pthread開多個線程,每個線程分別計算數(shù)列
    的頭像 發(fā)表于 10-28 15:40 ?1778次閱讀
    探究SMT對<b class='flag-5'>計算</b>密集型workload的效果

    Verilog數(shù)字系統(tǒng)設(shè)計——任務(wù)和函數(shù)一(數(shù)列

    隨著人工智能的不斷發(fā)展,機器學(xué)習(xí)這門技術(shù)也越來越重要,很多人都開啟了學(xué)習(xí)機器學(xué)習(xí),本文就介紹了機器學(xué)習(xí)的基礎(chǔ)內(nèi)容。提示:以下是本篇文章正文內(nèi)容:1 分別用任務(wù)和函數(shù)實現(xiàn)
    發(fā)表于 12-05 19:06 ?9次下載
    Verilog數(shù)字系統(tǒng)設(shè)計——任務(wù)和<b class='flag-5'>函數(shù)</b>一(<b class='flag-5'>斐</b><b class='flag-5'>波</b><b class='flag-5'>那</b><b class='flag-5'>契</b><b class='flag-5'>數(shù)列</b>)

    數(shù)列的實現(xiàn)方式

    數(shù)列是一組第一位和第二位為1,從第三位開始,后一位是前兩位和的一組遞增數(shù)列
    的頭像 發(fā)表于 09-08 10:52 ?1206次閱讀

    關(guān)于數(shù)學(xué)理論的經(jīng)典問題

    留下來的畫像來看,他的神韻頗似晚他三個世紀(jì)的同胞畫家拉斐爾。
    的頭像 發(fā)表于 06-25 09:59 ?794次閱讀
    關(guān)于<b class='flag-5'>斐</b><b class='flag-5'>波</b><b class='flag-5'>那</b><b class='flag-5'>契</b>數(shù)學(xué)理論的經(jīng)典問題

    python編寫數(shù)列

    。數(shù)列是一個無限序列,從3開始,每一
    的頭像 發(fā)表于 11-21 15:04 ?1354次閱讀

    Python遞歸的經(jīng)典案例

    當(dāng)我們碰到諸如需要求階乘或數(shù)列的問題時,使用普通的循環(huán)往往比較麻煩,但如果我們使用遞歸
    的頭像 發(fā)表于 08-05 15:57 ?339次閱讀