这篇文章主要介绍C语言怎么实现Fibonacci数列递归,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
/*
问题描述
Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。
当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。
*/
#include<stdio.h>
#include<stdlib.h>
int N=10007;
/*计算Fibonacci函数*/
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;
/*判断是否继续分析下一个数。*/
while(tap)
{
/*保证分析的数有效*/
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);
/*判断是否继续分析下一个数*/
printf("enter 1 to continue,enter 0 to quit:\n");
scanf("%d",&tap);
printf("\n");
}
printf("Thank You.\n");
return 0;
}
采用递归的方法,一次运行多次分析,若想一次运行只分析一次,只需将while循环去掉即可。
以上是“C语言怎么实现Fibonacci数列递归”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。