《programming for the puzzled》第七章涉及到的知识浮点数和算术运算,二分搜索。问题:找到一组数的平方根。迭代搜索已知一个数n是完全平方数,可以从1开始计算其平方值,如果小于n,加一,再重复,直到其平方值等于n。这对于计算机来说是可行的,但还有更快的解法。先实现这个算法吧。
...
《programming for the puzzled》第六章涉及到的知识:案例分析,分治法。在9个硬币中找到一个赝品。假的比真的重一些,你的任务是使称重的次数最少。你需要称几次?穷举,选出一个硬币与其它八个依次对比,最差需要称八次。用分治法可以做得更好。先从9个硬币中选出四个,分两组称。有三种情
...
《programming for the puzzled》第五章涉及到的知识:break语句,基数运算(radix representations)问题概述:测量一些水晶球的“硬度系数”。2015年完工的上海塔有128层,你要找出从多高的地方扔下这些水晶球,它们不会破碎而是弹起来。返回的结果是满足条
...
《programming for the puzzled》第四章涉及到的问题:二维列表,while循环,continue语句,函数的默认参数,用递归进行搜索,剪枝(Conflict detection)。就是所谓的“八皇后问题”了,在一个8×8的国际象棋棋盘上放8个皇后,要求它们不能彼此攻击,即:①
...