Granos

Granos

Fácil

Instrucciones

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:

  • cuántos granos había en una casilla concreta, y
  • el número total de granos que hay en el tablero de ajedrez

Nota

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».

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

¿Listo para empezar Granos?

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