递归算法虽然容易理解,但我们可能时常忘记使用它。我就只记得算法课上老师讲过的场景:斐波那契数列,汉诺塔这两个例子。偶尔看到b站上一个C语言视频里面用递归求解进制转换的例子,突然之间恍然大悟,想着记录下来。 下面是一个求解二进制的程序代码 ...
分类:
其他好文 时间:
2019-01-26 23:48:50
阅读次数:
305
一、编码(初级) 1.isPrime - 返回true或false, 表示输入的数是否为质数 2.factorial - 返回给定数的阶乘的值 3.fib -返回斐波那契数列的前n项的和(n为给定) 4.isSorted - 返回true或false,表示给定的数组是否被排序过 5.filter - ...
分类:
编程语言 时间:
2019-01-25 17:40:55
阅读次数:
205
1 #Author : Kelvin 2 #Date : 2019/1/22 20:02 3 class Fi: 4 def __init__(self): 5 self.a=1 6 self.b=1 7 def __iter__(self): 8 return self 9 def __next_... ...
分类:
其他好文 时间:
2019-01-22 20:42:01
阅读次数:
212
二分查找 斐波那契查找 黄金分割,即将整体一分为二,较大部分与较小部分之比等于整体与较大部分之比,其比值约为1:0.618或1.618:1。 斐波那契数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89…….,随着斐波那契数列的递增,前后两个数的比值会越来越接近0.618, ...
分类:
编程语言 时间:
2019-01-20 20:02:30
阅读次数:
224
题目:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39 分析:和书本上的递归调用相比,优点是: fibN=fibOne+fibTwo.用一个变量存储中间项。下次用的时候直接查找一下。不用再计算了。 算法复杂度:o(n) ...
分类:
其他好文 时间:
2019-01-19 21:50:00
阅读次数:
199
题目: 给出一个斐波那契数字的前缀,问第一个有这个前缀的数字在斐波那契数列中是第几个。 思路: 紫书提示:本题有一定效率要求。如果高精度代码比较慢,可能会超时。 利用滚动数组和竖式加法来模拟斐波那契相加的过程,在这个过程中每得出一个斐波那契数字就用字典树存一下。 PS:在滚动数组中存的斐波那契数字是 ...
分类:
其他好文 时间:
2019-01-18 00:59:22
阅读次数:
342
【解题思路】 给一张神图,推理写的灰常明白了,关键是构造共轭函数,这一点实在是要有数学知识的理论基础,推出了递推式,接下来就是矩阵的快速幂了。 神图: 给个大神的链接:构造类斐波那契数列的矩阵快速幂 /* * Problem: HDU No.4565 * Running time: 62MS * C ...
分类:
其他好文 时间:
2019-01-17 17:50:07
阅读次数:
175
(1)算法: 1、斐波那契数列:1、1、2、3、5、8、13、21。输入n,输出数列中第n位数的值。 方案一: pythod function maopao(arr){ var temp=0; for(var i=0;iarr[j+1]){ temp=arr[j]; arr[j]=arr[j+1]; ...
分类:
编程语言 时间:
2019-01-16 16:49:33
阅读次数:
194
"CF446C题意:" 给你一个数列$a_i$,有两种操作:区间求和;$\sum_{i=l}^{r}(a[i]+=fib[i l+1])$。$fib$是斐波那契数列。 思路 (一) $fib[n] = \frac{\sqrt5}{5}\times [(\frac{1+\sqrt5}{2})^n (\ ...
分类:
其他好文 时间:
2019-01-16 13:07:19
阅读次数:
265
$fib "1]=1,fib[2]=1,fib[n]=fib[n 1]+fib[n 2" $ $h "1]=a,h[2]=b,h[n]=b fib[n 1]+a fib[n 2" $ $h[n]=h[n 1]+h[n 2]$ $h[n]=h[n 2]+h[n 3]+h[n 2]$ $h[n]=h[n ...
分类:
其他好文 时间:
2019-01-16 01:04:05
阅读次数:
128