Le Monde puzzle [#737]
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
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
and, if u=(xn,yn,zn,wn), for i=1,…,4,
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="") radii=c("gold","sienna","steelblue","tomato") 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) lines(c(0,sin(2*pi*suite[j]/48)),c(0,cos(2*pi*suite[j]/48)),col=radii[j]) 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.
Filed under: R Tagged: Le Monde, mathematical puzzle, R
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.