Granos

Granos

Fácil

Instrucciones

Calcula la cantidad de granos de trigo en un tablero de ajedrez, sabiendo que la cantidad en cada casilla se duplica.

Había una vez un sirviente sabio que salvó la vida de un príncipe. El rey prometió pagarle lo que el sirviente pudiera imaginar. Como sabía que al rey le encantaba el ajedrez, el sirviente le dijo al rey que le gustaría recibir granos de trigo. Un grano en la primera casilla de un tablero de ajedrez, con la cantidad de granos duplicándose en cada casilla siguiente.

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:

  • cuántos granos había en una casilla determinada, y
  • la cantidad total de granos en el tablero de ajedrez

Nota

Este tipo de problemas (en los que una respuesta depende de una anterior) suelen recibir el nombre de recursión. Hay distintas maneras de programar la recursión; quizá valga la pena investigar al respecto si no la conoces. Pharo está bien optimizado para la recursión, y es un patrón que se usa mucho.

Nota: en la especificación original del problema, se llama a grainsCalculator mediante #square; sin embargo, hemos renombrado este método a #atSquare:, un nombre más al estilo de Smalltalk, que describe mejor que estás pidiendo una respuesta «en una casilla».

Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
Pharo Exercism

¿Todo listo para empezar Granos?

Regístrate en Exercism para aprender y dominar Pharo con 50 ejercicios y mentoría humana real, todo gratis.