Lmagic16/blog

智力题

Opened this issue · 0 comments

  1. 有120个硬币,其中有10个为正面朝上,现要求分成两堆,使得两堆硬币正面朝上的个数相等(约束条件:自己不能分辨硬币是否朝上,看不见,摸不出来)?
    方案:从120个硬币中,随机取出10个硬币(x个正面朝上)作为另一堆,然后将这堆10个硬币全部翻面(10-x个正面朝上),原来那堆还剩110个硬币(正面朝上的个数为10-x)。
    备注:这里120个硬币换个数字也是同样成立。

  2. 两个杯子(一个三升,一个五升),怎么量出四升水?
    方案:用3升杯子盛满水往5升杯子倒两次,3升杯子里只剩1升水,将1升水倒入空的5升杯子,再倒入3升水,即4升。

  3. 利用栈来实现计算器(四则运算)

  4. 一根不均匀绳子,燃烧完需要一个小时。现有多根相同的绳子,如何利用绳子计量出30分钟和1小时15分钟?
    30分钟:把一根绳子两头一起烧
    1小时15分钟:一根绳子A两头一起烧,另一根绳子B只烧一头,待A烧完后,就是30分钟,再把B绳子两头一起烧,即可量出15分钟。以此类推,还可以量出7.5分钟,3.75分钟......