Il était une fois un serviteur sage qui sauva la vie d'un prince. Le roi promit de payer tout ce que le serviteur pourrait imaginer. Sachant que le roi aimait les échecs, le serviteur lui dit qu'il aimerait recevoir des grains de blé. Un grain sur la première case d'un échiquier, le nombre de grains doublant à chaque case suivante.
Calcule le nombre de grains de blé sur un échiquier.
Un échiquier comporte 64 cases. La case 1 contient un grain, la case 2 en contient deux, la case 3 en contient quatre, et ainsi de suite, en doublant à chaque fois.
Écris du code qui calcule :
Ce type de problème, où une réponse dépend de la précédente, relève souvent de la récursivité. Il existe différentes façons de coder la récursivité ; si tu n'es pas encore familier avec ce concept, cela vaut peut-être le coup de te renseigner. Pharo est bien optimisé pour la récursivité, et c'est un schéma d'usage courant.
Remarque : dans la spécification d'origine du problème, le grainsCalculator est appelé via #square, mais nous avons renommé cette méthode #atSquare:, un nom plus proche de Smalltalk qui décrit mieux le fait que l'on demande une réponse « à une case donnée ».
Inscris-toi sur Exercism pour apprendre et maîtriser Pharo avec 50 exercices, et un vrai mentorat humain, le tout gratuitement.