C語言實現(xiàn)Fibonacci數(shù)列遞歸
更新時間:2020年02月11日 15:00:14 作者:被Python玩的Kenny
這篇文章主要介紹了C語言實現(xiàn)Fibonacci數(shù)列遞歸,文中通過示例代碼介紹的非常詳細,對大家的學(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)的問題,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
解決vscode下調(diào)試c/c++程序一閃而過的問題(Windows)
這篇文章主要介紹了解決vscode下調(diào)試c/c++程序一閃而過(Windows),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08
opencv實現(xiàn)機器視覺檢測和計數(shù)的方法
在機器視覺中,有時需要對產(chǎn)品進行檢測和計數(shù)。其難點無非是對于產(chǎn)品的圖像分割。本文就來介紹一下機器視覺檢測和計數(shù)的實現(xiàn),感興趣的可以參考一下2021-05-05
C++ 數(shù)據(jù)結(jié)構(gòu)之kmp算法中的求Next()函數(shù)的算法
這篇文章主要介紹了C++ 數(shù)據(jù)結(jié)構(gòu)之kmp算法中的求Next()函數(shù)的算法的相關(guān)資料,需要的朋友可以參考下2017-06-06
C語言中自動隱式轉(zhuǎn)換與類型強制轉(zhuǎn)換實例分析
這篇文章主要介紹了C語言中自動隱式轉(zhuǎn)換與類型強制轉(zhuǎn)換實例分析,需要的朋友可以參考下2014-07-07
C++使用文件實現(xiàn)學(xué)生信息管理系統(tǒng)
這篇文章主要為大家詳細介紹了C++使用文件實現(xiàn)學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-01-01

