近期遇到两个逻辑题,感觉有点好玩,发上来以作记录。
1、给定9个球,其中一个质量比其他8个球要轻(或者重),给定一个天平,问最少几次可以把这个轻球找出来。
2、给定一组大小长短不一的乐高积木,以及一个天平,如何把这组乐高积木按照重量从轻到重排列出来。
第一题,只要把9个球分成3组,两组先比较,重量轻的一组,必然包含了轻球。再对这组的三个球,抽取两个,如果相等,必然是第三个球,否则轻者就是轻球。
第二题,实际上是冒泡排序的乐高版实现。第一轮先通过两两比较,得到n个中最轻的,然后在剩下的n-1个中,再找最轻的。通过这种思路,逐渐排列好。这种特别适合教小孩做不插电编程,主要锻炼逻辑思维。