当前位置:首页 > 通信资讯 > 正文
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 /* 问题描述 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循环去掉即可。

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

原文链接:https://blog.csdn.net/weixin_42245157/article/details/80385358

如果您对该产品感兴趣,请填写办理(客服微信:xiaoxiongyidong)

为您推荐:

发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。