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數(shù)據(jù)結(jié)構(gòu)中串簡單實例
這篇文章主要介紹了C數(shù)據(jù)結(jié)構(gòu)中串簡單實例的相關(guān)資料,需要的朋友可以參考下2017-06-06
C++實現(xiàn)教職工信息管理系統(tǒng)課程設(shè)計
這篇文章主要為大家詳細介紹了C++實現(xiàn)教職工信息管理系統(tǒng)課程設(shè)計,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03
深入剖析C語言中qsort函數(shù)的實現(xiàn)原理
這篇文章主要介紹了C語言中qsort函數(shù)的實現(xiàn)原理,本文將從回調(diào)函數(shù),qsort函數(shù)的應(yīng)用,qsort函數(shù)的實現(xiàn)原理三個方面進行講解,并通過代碼示例講解的非常詳細,需要的朋友可以參考下2024-03-03

