在刷腾讯笔试题时有一个选择题:有任意多个1、2、5分的硬币,有多少种组合方法组成1元。一开始的思路认为可以使用类似斐波那契数的方法,但是马上意识到不合适,首先这是一个组合问题不是一个排列问题。于是考虑如果5分的取1,2.....20个,其余的使用1、2分组合,而使用1,2分组成特定的钱数又可以取1,...
分类:
其他好文 时间:
2015-04-17 01:07:30
阅读次数:
112
题目:猴子摘香蕉一次可以摘1个或2个,总共50个,有多少种摘法?分析:得到如下规律实际上是一个斐波那契数列以下为我使用的4种解法,分别是递归、迭代、64位整型数、数组(类似于大数相加)。代码1:递归//其中加入了计时器#include<iostream>
#include<ctime>
usingna..
分类:
其他好文 时间:
2015-04-13 21:07:56
阅读次数:
178
publicstaticintFoo(inti){if(i<3){return1;}else{returnFoo(i-1)+Foo(i-2);}}staticvoidMain(string[]args){Console.WriteLine(Foo(8));}
int func(int n){ if (n ==0) return 0; if (n == 1) return 1; int p = 0; int q = 1; for (int i = 1; i < n; i++){ int...
分类:
其他好文 时间:
2015-04-12 22:37:36
阅读次数:
171
【题目链接】click here~~
【题目大意】
M斐波那契数列F[n]是一种整数数列,它的定义如下:
F[0] = a
F[1] = b
F[n] = F[n-1] * F[n-2] ( n > 1 )
现在给出a, b, n,你能求出F[n]的值吗?对每组测试数据请输出一个整数F[n],由于F[n]可能很大,你只需输出F[n]对1000000007取模后的值即...
分类:
其他好文 时间:
2015-04-11 22:37:15
阅读次数:
188
/** * 斐波那契(Fibonacci)数列的第一个和第二个数分别为1 和1 ,* 从第三个数开始,每个数等于其前两个数之和(1,1,2,3,5,8,13,……)。* 编写一个程序输出斐波那契数列中的前20个数,要求每行输出五个数*/public class Fibonacci { publi.....
分类:
其他好文 时间:
2015-04-09 21:49:20
阅读次数:
116
/*
充分利用了菲波那切数列的两条定理:
①定义F[1] = a, F[2] = b, F[n] = F[n - 1] + F[n - 2](n≥3)。
有F[n] = b * fib[n - 1] + a * fib[n - 2](n≥3),其中fib[i]为斐波那契数列的第 i 项。
②定义F[1] = a, F[2] = b, F[n] = F[n -...
分类:
其他好文 时间:
2015-04-08 18:12:38
阅读次数:
116
做一道斐波那契算法问题,结果运行超时public class Solution { public int Fibonacci(int n) { if(n == 0){ return 0; } if(n == 1){ return 1; } re...
分类:
编程语言 时间:
2015-04-08 14:49:33
阅读次数:
261
题目大意:
二个人玩取石子游戏,一共有三堆石子,分别为m、n、p个。两个人轮流取石子,每次可以任选一堆石子,
然后取斐波那契数列中的f(n)个。每次都使用最优策略,先取完的人获胜。问:先手的人会赢还厚后手的人会
赢?
思路:
这是一道博弈题。
Fibo[] = {1,2,3,5,8,13,21,…}。根据题意每次只能取fibo[i]个。则:
1.如果只有1堆m个,而m是某个fibo[i],则m是必胜点。m = 1,2,3,5,8,13,21,…是必胜点。
可以看出来0,4就是必败点。如果从m中取走k个(k...
分类:
其他好文 时间:
2015-04-08 11:04:06
阅读次数:
204
递归斐波那契数列 1 public class Fab { 2 3 public static void main(String[] args) { 4 System.out.println(fab(50)); 5 } 6 7 public sta...
分类:
编程语言 时间:
2015-04-08 06:27:01
阅读次数:
118