Le Monde puzzle [#737]

The puzzle in the weekend edition of Le Monde this week can be expressed as follows:

Consider four integer sequences (xn), (yn), (zn), and (wn), such that

$x_0=0 < y_0 < z_0 < w_0 <48$

and, if u=(xn,yn,zn,wn), for i=1,…,4,

$u_i=\frac{1}{2}\left(u_i+\min_{j;u_j>u_{i}}u_{j}\right)\,\text{mod}\,48$

if ui is not the maximum of u and

$u_{i}=\frac{1}{2}\left(u_{i}+48+\min_{j\ne i}u_{j}\right)\,\text{mod}\,48$

otherwise. Find the first return time n (if any) such that xn=0. Find the value of (y0,z0,w0) that minimises this return time.

The difficulty stands with the constraint that the sequences only take integer values, which eliminates a lot of starting values. I wrote an R code that corresponds to this puzzle:

library(schoolmath)
nodd=TRUE
while (nodd){

suite=start=c(0,sort(2*sample(1:23,3)))
clock=seq(0,48,le=49)*2*pi/48
clock=rbind(sin(clock),cos(clock))
plot(clock[1,],clock[2,],type="l", axes=F,xlab="",ylab="")

for (t in 1:10^5){

for (j in 1:4){

if (suite[j]<max(suite)){
suite[j]=((suite[j]+min(suite[suite>suite[j]]))/2)%%48
}else{
suite[j]=((suite[j]+48+min(suite[-j]))/2)%%48}
}

plot(clock[1,],clock[2,],type="l", axes=F,xlab="",ylab="")
for (j in 1:4)

if ((suite[1]==0)||(max(is.decimal(suite))==1)){
nodd=(max(is.decimal(suite))==1)
print(t)
break()}
}}


but it fails to produce a result, always bumping into unacceptable starting values after one or two (rarely three) iterations! So either the starting conditions are very special out of the 23*22*21/6=1771 possible values of sort(2*sample(1:23,3)) or…I missed a point in the original puzzle.

2 Responses to “Le Monde puzzle [#737]”

1. […] weekend puzzle in Le Monde this week is again about a clock.  Now, the clock has one hand and x ticks where a lamp is either on or off. The hand moves from […]

2. […] a coincidence, while I was waiting for the solution to puzzle #737 published this Friday in Le Monde, the delivery (wo)man forgot to include the weekend magazine and […]