I hope you are doing well and enjoying yourself in Scotland. First, my
apologies for this very lengthy email but I felt it necessary to give an
explanation. Secondly, if you don't want to read any of the justification
then start reading from "------------||" onwards.
Thanks for the clarification. As stated, the problem does not have a
unique solution. You can make the loops arbitrarily short. I will try to
Each has a period (the time each takes to complete one cycle) T1,...,T4.
We can always order the periods as, T1 < T2 < T3 < T4
Note: we have assumed the periods are all different. This can be
generalized (we won't do that here) to assuming that at least two of the
periods are different (if all the periods are the same then they will
repeat after one cycle which then requires us to have this one cycle be
Let m = 100 years = 876000 hrs
Suppose L4 requires n4 cycles to occur in order for m hrs to elapse, then
n4*T4 = m.
Note: n4 has to be a positive integer.
We want all of the loops to repeat after m hrs, this implies that
L1,...,L4 will have each completed a certain number of full cycles,
n1,...,n4. So we get:
n1*T1 = n2*T2 = n3*T3 = n4*T4 = m (1)
Equation (1) ensures that L1,...,L4 will repeat after m hrs.
Now the tricky part. Consider loops L3 and L4. We want to avoid having
them repeat any earlier than m hrs. For example, suppose we had 6*T3 =
4*T4 = m which means that L3 completes 6 cycles and L4 completes 4 cycles
then repeat after m hrs. However, 2 is common factor that still gives an
integer number of cycles. Divide by 2 gives, 3*T3 = 2*T4 = m/2 which
means that in this case L3 and L4 actually FIRST repeat after m/2 hrs (L3
completes 3 cycles and L4 completes 2 cycles). One way of to avoid
having any repetitions occur before m hrs is to require that n3 and n4 be
prime numbers (numbers whose only divisors are 1 and itself).
Note: There is another way, by simply requiring that n3 and n4 be
relatively prime. This means that their only common divisor is 1, for
example 10 and 21 are relatively prime. Here, we shall choose n1,...,n4
to be only prime numbers.
Observation: Since T1 < T2 < T3 < T4 it follows from equation (1) that
n1 > n2 > n3 > n4. This just says that L1 will cycle more times than L2
etc... because it had a shorter period.
Here is the procedure for determining the periods, T1,...,T4 of each loop:
1)Choose the number of cycles of L4 to be some large prime number n4.
Then T4 = m/n4 gives the period of L4.
2)Choose another prime n3 > n4. Then T3 = m/n3 gives the period of L3.
3)Choose another prime n2 > n3. Then T2 = m/n2 gives the period of L2.
4)Choose the last prime n1 > n2. Then T1 = m/n1 gives the period of L1.
Note: In steps 3) and 4) if n1 and n2 are not prime numbers then L1 and L2
might repeat before m hrs, however L3 and L4 won't repeat until m hrs.
An Example determining the periods of each loop so that there is no
repetition till m = 100 years = 876000 hrs
1)Choose n4 = 1299709 (100,000 th prime number).
Then T4 = 876000/1299709 hrs = .6739970255 hrs = 40.43982153 mins
2)Choose n3 = 2750159 (200,000 th prime number).
Then T3 = 876000/2750159 hrs = .3185270379 hrs = 19.11162227 mins (approx.)
3)Choose n2 = 4256233 (300,000 th prime number).
Then T2 = 876000/4256233 hrs = .2058158000 hrs = 12.34894800 mins (approx.)
4)Choose n1 = 5800079 (400,000 th prime number).
Then T1 = 876000/5800079 hrs = .1510324256 hrs = 9.061945536 mins (approx.)
You can see that by simply choosing a larger prime number n4 we can make
the period of L4 as small as we like, that is T4 can be made arbitrarily
small. Since T1 < T2 < T3 < T4 then the other periods will be even
shorter. I chose the above prime numbers just to get periods, T1,...,T4
under 1 hour, you can use the procedure to get times that are more
suitable for the piece.
Last comment: The above decimal numbers are all approximate. In reality,
it doesn't seem likely that one can achieve the precision necessary in
the periods of the loops in order to guarantee that no repetition will
occur till 100 years. Even if all above numbers for periods happen to be
whole numbers, I don't know if you can create a real loop that is say
exactly 10 mins. What would happen if the period of each loop was not
exactly as above? Then I just don't know.
Hope this is helpful somehow. Let me know if there is anything I can