C語言實現(xiàn)Fibonacci數(shù)列遞歸
更新時間:2020年02月11日 15:00:14 作者:被Python玩的Kenny
這篇文章主要介紹了C語言實現(xiàn)Fibonacci數(shù)列遞歸,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
/* 問題描述 Fibonacci數(shù)列的遞推公式為:Fn=Fn-1+Fn-2,其中F1=F2=1。 當(dāng)n比較大時,F(xiàn)n也非常大,現(xiàn)在我們想知道,F(xiàn)n除以10007的余數(shù)是多少。 */ #include<stdio.h> #include<stdlib.h> int N=10007; /*計算Fibonacci函數(shù)*/ int Fibonacci (int n) { int Fn; if (n==1 || n==2) { Fn=1; } else { Fn = (Fibonacci(n-1) + Fibonacci(n-2))%N; } return (Fn); } int main(void) { int n,tap=1,F1,F2,Fn; /*判斷是否繼續(xù)分析下一個數(shù)。*/ while(tap) { /*保證分析的數(shù)有效*/ do { printf("*************Fibonacci***************\n"); /*簡易菜單*/ printf("Please enter a positive integer for analysis:\n"); scanf("%d",&n); }while (n<1); /*開始分析*/ Fn=Fibonacci(n); printf("%d\n",Fn); /*判斷是否繼續(xù)分析下一個數(shù)*/ printf("enter 1 to continue,enter 0 to quit:\n"); scanf("%d",&tap); printf("\n"); } printf("Thank You.\n"); return 0; }
采用遞歸的方法,一次運行多次分析,若想一次運行只分析一次,只需將while循環(huán)去掉即可。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C語言使用scanf連續(xù)輸入字符串出現(xiàn)的問題
這篇文章主要介紹了C語言使用scanf連續(xù)輸入字符串出現(xiàn)的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12解決vscode下調(diào)試c/c++程序一閃而過的問題(Windows)
這篇文章主要介紹了解決vscode下調(diào)試c/c++程序一閃而過(Windows),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08opencv實現(xiàn)機(jī)器視覺檢測和計數(shù)的方法
在機(jī)器視覺中,有時需要對產(chǎn)品進(jìn)行檢測和計數(shù)。其難點無非是對于產(chǎn)品的圖像分割。本文就來介紹一下機(jī)器視覺檢測和計數(shù)的實現(xiàn),感興趣的可以參考一下2021-05-05C++ 數(shù)據(jù)結(jié)構(gòu)之kmp算法中的求Next()函數(shù)的算法
這篇文章主要介紹了C++ 數(shù)據(jù)結(jié)構(gòu)之kmp算法中的求Next()函數(shù)的算法的相關(guān)資料,需要的朋友可以參考下2017-06-06C語言中自動隱式轉(zhuǎn)換與類型強(qiáng)制轉(zhuǎn)換實例分析
這篇文章主要介紹了C語言中自動隱式轉(zhuǎn)換與類型強(qiáng)制轉(zhuǎn)換實例分析,需要的朋友可以參考下2014-07-07C++使用文件實現(xiàn)學(xué)生信息管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C++使用文件實現(xiàn)學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-01-01