Calcula el número de granos de trigo que hay en un tablero de ajedrez, sabiendo que la cantidad de cada casilla se duplica.
Había una vez un sirviente sabio que salvó la vida de un príncipe. El rey le prometió pagarle lo que el sirviente fuera capaz de imaginar. Como sabía que al rey le encantaba el ajedrez, el sirviente le dijo que le gustaría tener granos de trigo. Un grano en la primera casilla de un tablero de ajedrez, y el número de granos se duplica en cada casilla sucesiva.
Un tablero de ajedrez tiene 64 casillas (donde la casilla 1 tiene un grano, la casilla 2 tiene dos granos, y así sucesivamente).
Escribe código que muestre:
Este tipo de problemas (en los que una respuesta depende de otra anterior) se conocen a menudo como recursión. Hay distintas formas de programar la recursión, así que puede merecer la pena investigar un poco si no estás familiarizado con ella. Pharo está muy bien optimizado para la recursión y es un patrón de uso habitual.
Nota: en la especificación original del problema, se llama a grainsCalculator con #square; sin embargo, hemos renombrado ese método como #atSquare:, un nombre más propio de Smalltalk que describe mejor que lo que pides es una respuesta «en una casilla».
Regístrate en Exercism para aprender y dominar Pharo con 50 ejercicios y mentoría humana real, todo gratis.