From The Sunday Times, 6th June 1971 [link]
There were six. Messrs. Butcher, Carpenter, Draper, Farmer, Grocer and Miller, who shared the fire-watching on Friday nights — three this week, three the next. By occupation they were (not necessarily respectively) a butcher, a carpenter, a draper, a farmer, a grocer and a miller.
Incidents were few and far between, until that Saturday morning when they found the “log” book signed by the Acting Deputy Assistant something or other, as follows: “All three present and fast asleep”.
Something had to be done about it: they decided to watch, to play whist, and to keep awake in the future. It was arranged thus: four did duty this week, next week two stood down and two others came in, and so on. Each did two turns in three weeks.
On the first Friday the carpenter, the draper, the farmer and the miller watched. Next week Mr Carpenter, Mr Draper, Mr Farmer and Mr Grocer played. On the third occasion Mr Butcher played against Mr Grocer, Mr Farmer against the butcher, and the miller against the draper. Each night the four cut for partners and kept them till morning.
If Mr Carpenter’s occupation is the same as the name of the one whose occupation is the same as the name of the one whose occupation is the same as the one whose occupation is the same as the name of the miller:
What is Mr Miller’s occupation?
As presented this puzzle has no solutions. In the comments I give a revised version that does have a unique answer.
This puzzle was originally published with no title.
[teaser521]
Jim Randell 11:20 am on 11 June 2020 Permalink |
Assuming the ages cannot have a leading zero (which means the phone numbers can’t either) gives us a unique solution to the puzzle.
This Python program uses the [[
SubstitutedExpression()]] solver from the enigma.py library to try 3-, 4- and 5-digit numbers satisfying the required conditions. It runs in 54ms.from enigma import (sprintf as f, join, SubstitutedExpression, subsets, all_different, printf) # alphametic forms for possible palindromic phone numbers numbers = [ 'ABA', 'ABBA', 'ABCBA' ] # collect possible (number, age) solutions ss = list() # consider possible phone numbers for n in numbers: # age is 1st and 3rd digit a = n[0] + n[2] exprs = [ # sum of digits is the same as age f("{s} = {a}", s=join(n, sep=" + ")), # the number itself is divisible by the age f("{n} % {a} = 0"), ] # solve the alphametic expressions p = SubstitutedExpression(exprs, distinct="", answer=f("({n}, {a})")) ss.extend(p.answers(verbose=0)) # choose three solutions with different ages for (A, B, C) in subsets(ss, size=3): if not all_different(A[1], B[1], C[1]): continue printf("A={A} B={B} C={C}")Solution: The ages are: 21, 23, 27.
The corresponding phone numbers are: 28182, 28382, 28782.
These are the only three solutions for 5-digit phone numbers, and there are no solutions for 3- or 4-digit phone numbers.
LikeLike
GeoffR 4:48 pm on 16 July 2021 Permalink |
LikeLike