Sinon voici le raisonnement à faire :
Soit d le nombre d'essais minimal (pire cas)
Imaginons que ma première et deuxième billes se cassent dès le premier coup.
Il me reste d - 2 essais.
Donc je peux tester seulement les (d - 2) premiers étages. Avec le test de la deuxième bille ça fait d - 1 étages
Si la première bille casse mais pas la deuxième, je peux faire les (d - 2) étages suivants, puis les d - 3, etc. selon la fois où la deuxième bille casse.
Donc si la première bille casse, j'ai (d-1)(d)/2 étages que je peux tester au total en considérant tous les cas. (formule de Gauss, jusque ici c'est le raisonnement de Manichéenne)
Si la première bille se casse la deuxième fois, c'est la même chose mais j'ai le droit à un coup de moins. On remplace seulement d - 1 par d - 2.
Et ainsi de suite
La formule est donc de trouver le d minimal tel que
(d-1)(d)/2 + (d-2)(d-1)/2 + ... + 1*2/2 > 1 000 (pour couvrir tous les cas, en particulier si la bille casse au dernier étage)
Bon c'est une formule un peu moche, on peut vérifier que le d plus petit qui marche est 19, mais ceux qui ont fait un peu de mathématiques savent qu'on peut aussi minorer l'expression à gauche par une intégrale
(d)(d-1)/2 + (d-2)(d-1)/2 + ... + 1*2/2 > intégrale de 0 à d de x(x-1)/2 = 1/6 d^3 - 1/4 d^2
Pour d = 19 cette expression est égale à 1053, c'est bon !
EDIT : Joli

Je n'avais pas penser à la récursivité