谜题/逻辑谜题/撒谎的年龄/解答
安妮 - 30
贝蒂 - 51
卡丽 - 55
达拉 - 46
伊芙 - 37
设安妮、贝蒂、卡丽、达拉和伊芙的年龄和姓名分别为A、B、C、D和E。
C对A说,C = A + 10。如果C比A年轻,那就是在撒谎,所以C必须比A年长。(但仍然是撒谎。)
我们有A < C。
C对A说,B < D。因为C > A,所以C在撒谎,因此B > D。
我们有A < C,D < B。
D对B说,D = E + 9。因为D < B,所以D在说实话,因此D > E。
我们有A < C,E < D < B,D = E + 9。
E对B说,E = A + 7。因为E < B,所以E在说实话,因此E > A。
我们有A < C,A < E < D < B,D = E + 9,E = A + 7。
因为D = E + 9,而E = A + 7,所以D = A + 7 + 9 = A + 16。
我们有A < C,A < E < D < B,D = E + 9 = A + 16,E = A + 7。
B对C说,E < C。如果B > C,那么B就是在撒谎,那么E > C,然后A < C < E < D < B。然而,C对D说,C = D ± 6;因为C < D,所以这给了C = D - 6。然而,我们有E = D - 9,这将导致E < C,产生矛盾。因此,B > C的假设是错误的,所以B < C。
我们有A < E < D < B < C,D = E + 9 = A + 16,E = A + 7。
A对B说,B = (17/10)A。因为A < B,所以A在说实话。
我们有A < E < D < B < C,B = (17/10)A,D = E + 9 = A + 16,E = A + 7。
B对C说,|C - D| = |D - E| → |C - D| = 9。因为B < C,所以B在说实话,所以C = D + 9。因为D = A + 16,所以C = A + 16 + 9 → C = A + 25。
我们有A < E < D < B < C,B = (17/10)A,C = A + 25,D = A + 16,E = A + 7。
使用D < B < C,我们有A + 16 < (17/10)A < A + 25 → 16 < (7/10)A < 25 → 160/7 < A < 250/7 → 22 + 6/7 < A < 35 + 5/7。因为B和A都必须是整数,而B = (17/10)A → B - A = (7/10)A,所以(7/10)A必须是一个整数。因此,A必须能被10整除。唯一符合22 + 6/7 < A < 35 + 5/7的整数是A = 30。
我们有A = 30,B = (17/10)A,C = A + 25,D = A + 16,E = A + 7。
因此,A = 30,B = 51,C = 55,D = 46,E = 37。
卡丽告诉安妮她比她大10岁。如果卡丽更年轻,她就是在撒谎,这是不可能的,所以卡丽一定比安妮年长,只是不比她大10岁。
事实:卡丽比安妮年长(但不是大10岁)。
卡丽还对(更年轻的)安妮撒谎说,贝蒂比达拉年轻。
事实:达拉比贝蒂年轻。
达拉对(更年长的)贝蒂说实话,她比伊芙大9岁。
事实:达拉比伊芙大9岁。
伊芙对(更年长的)贝蒂说实话,她比安妮大7岁。
事实:伊芙比安妮大7岁。
安妮对(更年长的)贝蒂说实话,贝蒂的年龄比她自己的年龄大70%。为了让贝蒂的年龄是整数,安妮的年龄必须是10的倍数。因为贝蒂比达拉年长,而达拉比安妮大7 + 9 = 16岁,这意味着贝蒂必须比安妮大16岁以上。大于16的最小7的倍数是21。
事实:安妮至少30岁(而且一定是10的倍数)。
此时,贝蒂似乎是最年长的,撒谎的女士。让我们假设一下,看看是否可行。
在这种情况下,卡丽对达拉撒谎说,她们之间的年龄差是6岁,但贝蒂对(更年长的)卡丽说实话,卡丽的年龄和达拉的年龄之间的差与达拉的年龄和伊芙的年龄之间的差相同,即9岁。让我们测试一下这个场景,假设安妮的年龄是30。那么,从最小到最大,我们得到
测试:安妮 = 30,伊芙 = 37,达拉 = 46,贝蒂 = 51,卡丽 = 55
检查所有陈述和年龄关系表明这是一个答案。这是唯一的答案吗?
如果安妮的年龄是40,那么贝蒂的年龄将是68,卡丽的年龄将是65,所以卡丽将不是最年长的,这将是一个致命的缺陷。如果安妮比30岁大,贝蒂比卡丽年长,卡丽就不是最年长的。因此,它一定是唯一的答案。