Brain-Teaser 519: Badberg clock
From The Sunday Times, 23rd May 1971 [link]
At the village of Badberg, hidden away in the Alps, there is a town clock of a certain antiquity. The maker was a wealthy but inexpert amateur. After the ornate instrument had been installed it was found that the great hands stood still during the equal intervals between each stroke of the hour on the massive bell. Naturally, the clock was always slow.
The placid villagers became accustomed to the erratic behaviour of their timepiece; only after the death of its donor did his nephew dare to tackle the problem. Finding it impossible to alter the striking mechanism, he ingeniously modified the movement to run at a higher constant speed so that the hands showed the correct time at least when the clock struck certain hours.
Unfortunately, the hands still stop for the same period between successive strokes of the bell, but the villages can now see and hear the correct time every six hours.
At what hours does the clock make its first stroke correctly?
This puzzle is included in the book Sunday Times Brain Teasers (1974).
[teaser519]
Jim Randell 10:47 am on 3 May 2020 Permalink |
The clock only pauses between the strokes, so at 1 o’clock it doesn’t pause. At 2 o’clock it pauses for 1 interval. At 3 o’clock, 2 intervals. And so on until 12 o’clock when it pauses for 11 intervals. So the total time lost in a 12 hour period is 66 intervals.
And the speed of the clock is adjusted so that the time lost in these 66 intervals is made up during the 12 hours. So we need to find adjacent 6 hour periods each containing 33 intervals. And there are only 6 pairs of periods to consider.
Run: [ @repl.it ]
from enigma import irange, tuples, printf # "clock" arithmetic clock = lambda n, m=12: (n % m) or m # interval count for each hour ps = list(irange(0, 11)) # find a consecutive sequence of 6 intervals that is half the total t = sum(ps) for (i, s) in enumerate(tuples(ps, 6)): if sum(s) * 2 == t: (h1, h2) = (i + 1, i + 7) printf("{h1}, {h2}", h1=clock(h1), h2=clock(h2))Solution: The clock is correct at 4 o’clock and 10 o’clock.
In striking 4, 5, 6, 7, 8, 9 o’clock the clock pauses for 3 + 4 + 5 + 6 + 7 + 8 = 33 intervals.
In striking 10, 11, 12, 1, 2, 3 o’clock the clock pauses for 9 + 10 + 11 + 0 + 1 + 2 = 33 intervals.
LikeLike