Calcule le nombre de grains de blé sur un échiquier, sachant que le nombre de grains double à chaque case.
Il était une fois un serviteur avisé qui sauva la vie d'un prince. Le roi promit de payer tout ce que le serviteur pourrait imaginer. Sachant que le roi adorait 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.
Un échiquier compte 64 cases (la case 1 contient un grain, la case 2 en contient deux, et ainsi de suite).
Écris du code qui montre :
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.