摘要: 据说著名的斐波那契数列的起源,是某人(Fibonacci(Bonacci的儿子(都是外号啦)))在爬楼梯的时候突发奇想:N阶的楼梯,一次爬两级,或者一次爬一级,有多少种爬法咧?真是有想法!先哲的智慧让人感叹。废话少说,关于斐波那契数列的介绍,可以参见百度百科:http://baike.baidu.com/view/816.htm通常Fibonacci数列的解法,是递归函数。但是很明显,对于这个问题,递推是明显优于递归的。这里分别给出两种解法,并比较两者的性能:1. 递推解法:1 def recursionFibonacci(num):2 fibonacciList = []3 for i i 阅读全文
posted @ 2011-07-12 13:33 毛豆子 阅读(3246) 评论(1) 推荐(1) 编辑
摘要: 杨辉三角,估计在国内上过奥数班的小朋友们都学习过。关于杨辉三角的介绍,可以参看百度百科:http://baike.baidu.com/view/7804.htm这里给出Python的实现方法,主要是看到C语言的写法,叽叽歪歪,叽叽歪歪,实在忍不了,动手写了一个: 1 NUM = 5 2 3 def printLine(lineList): 4 lineList = [str(tmpNum) for tmpNum in lineList] 5 print("%s%s" % (" " * (NUM - len(lineList)), " " 阅读全文
posted @ 2011-07-12 13:03 毛豆子 阅读(9111) 评论(6) 推荐(1) 编辑
摘要: 上高中的时候借同学的文曲星玩,对hanoi(汉诺塔)游戏爱不释手。但是没有找到规律,总是蒙出来的。后来大学学递归的时候,觉得是听得最认真的一课。连那个胖胖的小C老师,也那么滴可爱和鲜活起来……最近在教递归函数,也拿过来做例子。先废话一下,不知道什么汉诺塔的同学,请参考以下故事:汉诺塔(又称河内塔)问题是印度的一个古老的传说.传说中,开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒,第一根上面套着64个圆形的金片,最大的一个在底下,其余一个比一个小,依次叠上去,寺院的僧侣依照一个古老的预言,不知疲倦地把它们一个个地从这根棒搬到另一根棒上,规定可利用中间的一根棒作为帮助,但每次只能搬一个,而且大的 阅读全文
posted @ 2011-07-12 11:07 毛豆子 阅读(8256) 评论(1) 推荐(1) 编辑
摘要: 上周看到刘谦在表演“读心术”。表演方式如下:1. 让嘉宾心里默想一个数字,在0-63之间。2. 依次给嘉宾看六张牌,每张牌上有若干个数字(我猜想是32个)。3. 让嘉宾回答,心理默想的数字有没有在扑克牌上。4. 六张牌看完,刘谦写出一个数字,然后让嘉宾说出心里默想的数。5. 吻合,掌声雷动。我看了之后,挺晕的……看来术业有专攻……这么简单的二进制问题,也能拿来做魔术表演。于是写了个程序来模拟刘谦的魔术,变给老婆看…… 1 import sys 2 3 NUM = 6 4 LINE_NUM = 70 5 6 maxMargin = 1 << NUM 7 numList = range 阅读全文
posted @ 2011-07-12 10:51 毛豆子 阅读(2673) 评论(6) 推荐(3) 编辑