Fibonacci数列的递推C语言详解:Fn=Fn-1+Fn-2
2018-01-16 11:23
309 查看
Fibonacci数列的递推C语言详解:Fn=Fn-1+Fn-2
1. 求Fn除以10007的余数
#include<stdio.h> #define M 10007 int main() { int a1,a2; a1=a2=1; int temp; //temp作为数据交换的中介 long n; //因为n>=1 and n<=1000000 long i; scanf("%ld",&n); for(i=1;i<n;i++) { //a1 作为f(n);a2为f(n+1) //a1+a2=f(n+2) temp=a2; a2=(a1+a2)%M; a1=temp; } printf("%d\n",a1); return 0; }
2. 求第n个数 - 时间复杂度O(n)算法
#include<stdio.h> int main() { int a1,a2; a1=a2=1; int temp; //temp作为数据交换的中介 long n; //因为n>=1 and n<=1000000 long i; scanf("%ld",&n); for(i=1;i<n;i++) { //a1 作为f(n);a2为f(n+1) //a1+a2=f(n+2) temp=a2; a2=a1+a2; a1=temp; } printf("%d\n",a1); return 0; }
3. 求第n个数 - 时间复杂度O(nlogn)算法
#include<stdio.h> int Fibo(int n) { if(n==1||n==2) return 1; else return Fibo(n-1)+Fibo(n-2); } int main() { int n=0; scanf("%d",&n); printf("%d\n",Fibo(n)); return 0; }
相关文章推荐
- 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。 输入格式 输入包含一个整
- Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。
- Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。
- 第6周作业3-Fibonacci数列
- zoj3774 Fibonacci数列的幂和
- [BEGIN-4] Fibonacci数列
- jquery.fn.extend与jquery.extend
- 为什么setTimeout(fn, 0) 会起作用?
- IT公司100题-19-求Fibonacci数列
- fn标签常用方法使用说明
- jQuery.fn.extend(object);和jQuery.extend(object); 的理解
- Jquery中$与$.fn的差别
- javascript的fn方法
- jquery的$.extend和$.fn.extend作用及区别,兼它们的一些小细节
- fn去除空格后,在截取字符串
- 蓝桥杯入门训练 Fibonacci数列
- 蓝桥杯 入门训练 Fibonacci数列
- JSTL fn标签
- JavaScript下的setTimeout(fn,0)意味着什么?
- 用动态分配空间的计算方法计算Fibonacci数列的前20项