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

