Je pensais à un truc comme ça mais rien de complètement convainquant...
si ça intéresse quelqu'un voici ma solution, à peu près carrée :
Soit H=120 le nombre d'étages. Soit k le nombre d'étages-test. On tente à l'étage e1, puis en cas de non-casse à l'étage e2+e1, puis à e1+e2+e3, … ,
on a bien sûr e1+...+ek = H
si casse à e1, on aura fait e1 essais en tout (l'étage e1 puis ceux qui sont en dessous)
si casse à e1+e2, on aura fait e2+1 essais en tout (e1, e2 puis les e2-1 compris entre e1 et e1+e2)
…
si on casse à e1+e2+...+ei, on aura fait ei+i-1 essais en tout (e1, e2, …, ei, puis les ei-1 compris entre e(i-1) et ei)
Le pire cas est atteint avec (max_pour_i_dans{1,..,k} (ei+i-1))
On cherche la valeur de k qui minimise cette quantité.
Pour k fixé, le max de la suite des (ei+i-1)est minimal quand chaque élément de la suite est égal à la moyenne, donc le max est minimal pour la valeur :
(Moyenne(Somme_pour_i_dans{1,..,k} (ei+i-1)
=(Somme_pour_i_dans{1,..,k} (ei+i-1)) / k --> optimum du pire cas
et comme e1+...+ek = H, on a
(Somme_pour_i_dans{1,..,k}(ei+i-1)) / k
= (H +(k(k+1)/2) – k) / k
= H/k + (k+1)/2 – 1
= H/k + (k-1)/2 --> on note ça f(k) qu'il faudra arrondir à l'entier supérieur bien sûr, le pire des (ei+i-1) étant un entier...
On dérive par rapport à k ce qui donne : -H/k^2 +1/2, qu'on égale à 0. On en tire : 2H = k^2, ce qui donne k=15,4919... et donc f(k)=14,99... qu'on arrondit par le haut à 15 : dans le pire des cas on fera 15 tests. Ce qui, au passage, implique que pour tout i: ei+i-1 <= 15, d'où ei <= 16-i.
Il nous faut donc 15 étages-tests qu'il reste à déterminer : les ei.
comme k^2 = 2H, la moyenne vaut k/2 + k/2 - 1/2 = k-1/2, qui est la valeur moyenne des (ei+i-1), ça donne comme moyenne pour les ei : k+1/2-i = 15,9919-i
Ce qui signifie qu'on peut prendre ei = 16-i, on peut prendre 15-i pour certains, ce qui nous fait gagner un coup de temps en temps, à condition que la moyenne reste inférieure à 16.
Un exemple est e1=15, e2=14, e3=13,etc (solution de papiauche). Mais il y en a d'autres sûrement, mais j'ai la flemme...