函数在编程语言中是很重要的一部分吧,在面向对象的语言中一般称为方法。在python中定义一个函数很简单:def functionName(): #statement一个很简单的例子,斐波那契数列:>>> def fib(n): a,b=0,1 while a>> fib(20)0 1 1 2 ...
分类:
编程语言 时间:
2014-09-19 22:22:46
阅读次数:
342
题意讲某个二进制按照规则每一位对应斐波那契数生成新的数字,然后2个数字求和。再求由该规则生成的二进制串。并且要求尽量用更大项的fib数(题目提示不能由连续的1就是2个连续的1(11)不如100更优)用大数处理出100项fib。然后模拟交替置位位0或者1,输出#include #include #in...
分类:
其他好文 时间:
2014-09-18 14:31:53
阅读次数:
199
题目地址:POJ 3070
用这个题学会了用矩阵快速幂来快速求斐波那契数。
根据上个公式可知,第1行第2列和第2行第1列的数都是第n个斐波那契数。所以构造矩阵,求快速幂即可。
代码如下:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include...
分类:
其他好文 时间:
2014-09-17 15:16:02
阅读次数:
181
题意:求计算fab[n]需要的计算次数MOD B 的结果首先容易知道的是f[n]=f[n-1]+f[n-2]+1;1.有 S(n)=F[n+2]-1; S[n]斐波那契数列前n项和。F[n+2]就第n+2项斐波那契数。证明就直接累加法:因为A=A+An所以An=A-A则A=A-AnA=An-A......
分类:
其他好文 时间:
2014-09-17 11:58:52
阅读次数:
175
题目地址:HDU 2516
当且只当n是一个斐波那契数的时候是必败态。可以写出几组数据找规律就可以发现这个规律。
证明如下:
就像“Wythoff博弈”需要“Beatty定理”来帮忙一样,这里需要借助“Zeckendorf定理”(齐肯多夫定理):任何正整数可以表示为若干个不连续的Fibonacci数之和。
先看看FIB数列的必败证明:
1、当i=2时,先手只能取1颗,显然...
分类:
其他好文 时间:
2014-09-16 12:40:01
阅读次数:
203
斐波那契数列的定义为:k=0或1时,F[k]=k;k>1时,F[k]=F[k-1]+F[k-2]。数列的开头几项为0,1,1,2,3,5,8,13,21,34,55,…你的任务是判断给定的数字能否被表示成两个斐波那契数的乘积。
分类:
其他好文 时间:
2014-09-14 14:01:07
阅读次数:
200
这是一道变换了的斐波那契数列,但是你如果写成递归函数的话内存是不够的,因为n的范围很大,如果你把前20项打出来的话,你会发现规律:就是从2开始是yes,每隔4个就是yes,其余是no。按这个规律编程绝对没问题,但是我还是愿意在这里证明一下其正确性。
我们看前七项,并设为ai:
7 11 18 29 47 76 123
a1 a2 a3 a4 a5 a6 a7
易知a3和a7是能被3整除的,其实如果只知道a3能被3整除,就能推出a7也能被3整除:
a7 = ...
分类:
其他好文 时间:
2014-09-13 10:43:25
阅读次数:
227
目录 1、斐波那契数列(Fibonacci)介绍 2、朴素递归算法(Naive recursive algorithm) 3、朴素递归平方算法(Naive recursive squaring...
分类:
其他好文 时间:
2014-09-10 20:51:21
阅读次数:
602
现将前1000个的斐波那契数打表,然后再找就好了。
代码:
import java.util.Scanner;
import java.math.*;
public class Main{
public static void main(String[] args){
Scanner cin = new Scanner(System.in...
分类:
编程语言 时间:
2014-09-07 22:32:45
阅读次数:
284
#include
#include
#include
using namespace std;
long long fibRecursion(unsigned n) {
if(n = 2) {
return fibRecursion(n - 1) +...
分类:
其他好文 时间:
2014-09-06 14:54:03
阅读次数:
165