Teaser 2471: [Cutting a rod]
From The Sunday Times, 31st January 2010 [link]
In the woodwork class, students were being taught how to measure and cut accurately. Pat was given a rod that was a whole number of feet long and was told to saw it into three pieces, each a different whole number of inches long. While he was cutting his set of three pieces, Pat calculated how many different sets it would be possible to make. He discovered that the answer was equal to his father’s year of birth.
What year was that?
This puzzle was originally published with no title.
[teaser2471]
Jim Randell 8:29 am on 27 June 2025 Permalink |
We assume the cuts themselves make a negligible difference to the length of the pieces.
Here is a constructive program that counts the number of dissections of an n-foot rod into 3 dissimilar whole inch lengths.
I decided that as the puzzle was set in 2010, viable years are in the range [1940, 1985].
The program runs in 71ms. (Internal runtime is 6.1ms).
from enigma import (irange, inf, decompose, icount, printf) # generate number of dissections def generate(): # consider number of feet for n in irange(1, inf): # divide into different sets of inches k = icount(decompose(12 * n, 3, increasing=1, sep=1)) printf("[{n} ft -> {k} sets]") yield (n, k) # find lengths that give up to 1985 sets ss = list() for (n, k) in generate(): ss.append((n, k)) if k > 1985: break # output solution (between 1940 and 1985) for (_, y) in ss: if 1939 < y < 1986: printf("year = {y}")Solution: Pat’s father was born in 1951.
1951 is the number of dissections of a 13-foot rod.
We can use the values accumulated by the program to determine a polynomial equation to generate the sequence:
So, for an n-foot rod (integer n ≥ 1), the number of dissections D(n) is given by:
This corresponds to OEIS A154105 [@oeis.org].
LikeLike
Frits 3:32 pm on 27 June 2025 Permalink |
It is not too difficult to find this formula for the sum 1 + 2+4 + 5+7 + 8+10 + 11+13 + 14+16 + ….
LikeLike
Frits 4:08 pm on 27 June 2025 Permalink |
Another formula for D(n) is:
sum(6 * n – (k + 3) // 2 – k – 1 for k in range(4 * n – 1))
LikeLike
Jim Randell 8:10 am on 28 June 2025 Permalink |
See also: BrainTwister #25.
Where we had:
Then D[n] appears as a subsequence of t[n] taking every 12th element (as there are 12 inches in 1 foot).
Specifically:
And this gives rise to the quadratic equation given above.
LikeLike