(This article was first published on

**Xi'an's Og » R**, and kindly contributed to R-bloggers)**T**he little half puzzle proposed a “dumb’ solution in that players play a minimax strategy. There are 34 starting values less than 100 guaranteeing a sure win to dumb players. If instead the players maximise their choice at each step, the R code looks like this:

solveO=function(n){ if (n<3){ solve=(n==2)}else{ solve=(!(solveO(n-1)))||(!solveO(ceiling(n/2)))} solve}

and there are now 66 (=100-34, indeed!) starting values for which the starting player can win.

**I**ncidentally, I typed

> solveO(1113) Error: evaluation nested too deeply: infinite recursion / options(expressions=)?

which shows R cannot handle heavy recursion without further programming. Testing for the upper limit, I found that the largest acceptable value is 555 (which takes forever to return a value, predicted at more than one hour by a linear regression on the run times till 300…).

Filed under: R, Statistics Tagged: Le Monde, mathematical puzzle, R, recursion

To

**leave a comment**for the author, please follow the link and comment on his blog:**Xi'an's Og » R**.R-bloggers.com offers

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