# Le Monde puzzle [#737 re-read]

August 27, 2011
By

(This article was first published on Xi'an's Og » R, and kindly contributed to R-bloggers)

As 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 I had to buy it this morning with my baguette (as if anyone cares!). The solution is (y0,z0,w0)=(38,40,46) and…it does not work! The value of (x1,y1,z1,w1) is indeed (19,39,43,8.5). Now, it does not work because the update mechanism used by the writers of the Le Monde column is to move all positions simultaneously, rather than one at a time: the update thus reads as

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

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

if uin-1 is not the maximum of un-1 and

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

otherwise.

(to compare with my earlier proposal). In this new configuration, the core of the R code I use is

while (nodd){

nsuite=suite=start=c(0,sort(2*sample(1:23,3)))
for (t in 1:20){
#some values of start never produce non-integer values
#of suite and never visit suite[1]=0

nsuite[-4]=(suite[-4]+suite[-1]+48*(suite[-1]-suite[-4]<0))/2
nsuite[4]=(suite[4]+suite[1]+48*(suite[1]-suite[4]<0))/2
suite=nsuite%%48

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


This new version leads to solutions (unsurprisingly!), returning

> print(start)
[1] 0 12 24 36


as one solution in 8 steps and

> print(start)
[1] 0 38 40 46


as the quickest solution in 6 steps.

Filed under: R Tagged: Le Monde, mathematical puzzle

To leave a comment for the author, please follow the link and comment on their blog: Xi'an's Og » R.

R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...

If you got this far, why not subscribe for updates from the site? Choose your flavor: e-mail, twitter, RSS, or facebook...

Tags: , ,

## Recent popular posts

Contact us if you wish to help support R-bloggers, and place your banner here.

# Never miss an update! Subscribe to R-bloggers to receive e-mails with the latest R posts.(You will not see this message again.)

Click here to close (This popup will not appear again)