斐波那契数列c语言编程递归,C语言实现Fibonacci数列递归

/*

问题描述

Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。

当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。

*/

#include

#include

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循环去掉即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值