经典面试题8 - 孩子多大了
问题:
两个老朋友, 杨康和郭靖,在分别很久后重逢。
郭靖: 过得怎么样,兄弟?
杨康:很好,和穆念慈结婚了,我们已经有了三个孩子。
郭靖:太棒了,他们都多大了?
杨康:他们三个年纪相乘是72岁,三个年纪相加和你生日相等。
郭靖:(⊙o⊙)…我还是不知道啊。
杨康: 我最大的孩子已经开始学钢琴了。
郭靖: 嘿嘿,我知道了。
请问 杨康的三个孩子都多大了?
解答:
让我们分解下,因为年纪的乘积是72,可以获得一下选项:
<blockquote>
2, 2, 18 – sum(2, 2, 18) = 22
2, 4, 9 – sum(2, 4, 9) = 15
2, 6, 6 – sum(2, 6, 6) = 14
2, 3, 12 – sum(2, 3, 12) = 17
3, 4, 6 – sum(3, 4, 6) = 13
3, 3, 8 – sum(3, 3, 8 ) = 14
1, 8, 9 – sum(1,8,9) = 18
1, 3, 24 – sum(1, 3, 24) = 28
1, 4, 18 – sum(1, 4, 18) = 23
1, 2, 36 – sum(1, 2, 36) = 39
1, 6, 12 – sum(1, 6, 12) = 19
</blockquote>
根据三个孩子的年龄的和等于郭靖的生日,这有可能是1到31之间的任意数字。但郭靖仍然不能根据自己的生日推断出孩子们的年龄,这说明组合中的相加的和有部分是相等的,这样只剩下2个组合是可行的:
<blockquote>
2, 6, 6 – sum(2, 6, 6) = 14
3, 3, 8 – sum(3, 3, 8 ) = 14
</blockquote>
而又因为最大的孩子已经开始上钢琴课,我们可以排除第一个,因为这个组合里有2个6岁的孩子,不可能只有一个孩子去上钢琴课。
最终孩子们的年龄是 3岁,3岁 和 8岁,想不到还有双胞胎!
<blockquote> 如果你真的看懂了,请点赞。 </blockquote>
推荐阅读