Granos

Granos

Fácil

Introducción

Érase una vez un sirviente sabio que salvó la vida de un príncipe. El rey prometió pagarle todo lo que el sirviente fuera capaz de imaginar. Sabiendo 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 duplicándose en cada casilla sucesiva.

Instrucciones

Calcula el número de granos de trigo en un tablero de ajedrez.

Un tablero de ajedrez tiene 64 casillas. La casilla 1 tiene un grano, la casilla 2 tiene dos granos, la casilla 3 tiene cuatro granos, y así sucesivamente, duplicándose cada vez.

Escribe código que calcule:

  • el número de granos en una casilla determinada
  • el número total de granos 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.