斐波那契数列
先普及一下基础知识
1.定义
斐波那契数列,又称黄金数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*).
2.通项公式
斐波那契数列:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,...
分类:
其他好文 时间:
2015-02-11 12:51:55
阅读次数:
155
这道题本来很水,以前做过一样的,斐波那契数列,用矩阵快速幂的方法求,本来很水,以前做过很多次,为毛做的时候没想到T_T#include #include #include #include #define LL __int64using namespace std;const LL MOD=1000...
分类:
其他好文 时间:
2015-02-08 15:20:03
阅读次数:
186
hdu 5167 Fibonacci
问题描述
斐波那契数列的递归定义如下:
Fi=???01Fi?1+Fi?2i = 0i = 1i > 1
现在我们需要判断一个数是否能表示为斐波那契数列中的数的乘积。
输入描述
有多组数据,第一行为数据组数T(T≤100,000)。
对于每组数据有一个整数n,表示要判断的数字。
0≤n≤1,000,000,000
输出描述
对于每...
分类:
其他好文 时间:
2015-02-02 23:22:40
阅读次数:
372
题目大意:
斐波那契数列有如下递归定义,f(1)=1,f(2)=1, 且n>=3,f(n)=f(n-1)+f(n-2),它的前几项可以表示为
1, 1,2 ,3 ,5 ,8,13,21,34…,问题是:若 f(n)能被3整除,则输出“3”; 若f(n) 能被4整
除,则输出“4”;如果能被12整除,输出“YES”;否则输出“NO”。
思路:
若f(n)能被12整除,则f(n)肯定能被3和4整除,这时候输出"YES",如果f(n)不能被12整除了,再判断
f(n)能被3整除,还是被4整除。都不满足了,再输出...
分类:
其他好文 时间:
2015-02-02 21:36:02
阅读次数:
330
问题描述Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式输入包含一个整数n。输出格式输出一行,包含一个整数,表示Fn除以10007的余数。说明:在本题中,答案是要求Fn除以10007...
分类:
其他好文 时间:
2015-02-01 17:38:30
阅读次数:
129
滚动数组的作用在于优化空间,主要应用在递推或动态规划中(如01背包问题)。因为DP题目是一个自底向上的扩展过程,我们常常需要用到的是连续的解,前面的解往往可以舍去。所以用滚动数组优化是很有效的。利用滚动数组的话在N很大的情况下可以达到压缩存储的作用。
一个简单的例子:
斐波那契数列:
一般代码:
#include
#include
using namespace std;
int Fib[...
分类:
编程语言 时间:
2015-01-31 22:00:09
阅读次数:
380
可以先列举一部分小数据,可以发现以fib[0]=2,fib[1]=3开始的斐波那契数列中的数字表示必胜态#include #include #include using namespace std;#define ll long longconst ll INF = 0x7fffffff;int k...
分类:
其他好文 时间:
2015-01-28 17:17:25
阅读次数:
117
http://www.lydsy.com/JudgeOnline/problem.php?id=3251这道题在北京八十中的时候有人讲过。。 不过由于自己continue 写掉了一个所以调了很久。做法是如果整个序列没有合法三角形的话,那么整个链长不超过50个(最大的情况是斐波那契数列) 所以大于50...
分类:
其他好文 时间:
2015-01-28 00:41:22
阅读次数:
224
为了引出动态规划的基本思想,请看下面的例子:
题目描述:
斐波那契数列是数学中常见的数列,也叫兔子数列,它满足:a[1]=1,a[2]=1,a[n]=a[n-1]+a[n-2](n>2),输入n,输出a[n] mod 10000007的值。(n
输入样例:
3
4
5
输出样例:
2
3
5
【算法分析】
看到题目以后,我们可以很轻松的写出两个版本的代码,一个是递推...
分类:
其他好文 时间:
2015-01-27 16:26:17
阅读次数:
402