Todos los desafíos
Fácil 0 resueltos 0% de aceptación

Doblado de granos en un tablero de ajedrez

Calcula la cantidad de granos en una casilla y el total en las 64 casillas.

La casilla 1 contiene un grano. Cada casilla posterior contiene el doble de granos que la anterior. Devuelve tanto la cantidad en la casilla solicitada como el total en las casillas 1 a 64. Escribe cada cantidad como texto decimal, ya que el total del tablero es demasiado grande para un entero con signo de 64 bits.

Implementa chessboard_grains(square).

Entrada

square: La casilla solicitada, numerada desde 1.

Salida

Devuelve dos cadenas decimales: [cantidad en la casilla solicitada, total en todas las 64 casillas].

Restricciones

1 ≤ square ≤ 64. Las cadenas de salida contienen solo dígitos decimales, sin comas, espacios ni ceros a la izquierda.

Ejemplos

Ejemplo 1
Entrada:
square = 6

Salida esperada:
expected = ["32", "18446744073709551615"]
Entrada:
long long square = 6;

Salida esperada:
std::vector<std::string> expected = {"32", "18446744073709551615"};
Entrada:
long square = 6;

Salida esperada:
string[] expected = new string[] {"32", "18446744073709551615"};

Explicación

Las primeras seis cantidades son 1, 2, 4, 8, 16, 32. El total del tablero es 1 + 2 + … + 2⁶³ = 2⁶⁴ − 1.

Ejemplo 2
Entrada:
square = 1

Salida esperada:
expected = ["1", "18446744073709551615"]
Entrada:
long long square = 1;

Salida esperada:
std::vector<std::string> expected = {"1", "18446744073709551615"};
Entrada:
long square = 1;

Salida esperada:
string[] expected = new string[] {"1", "18446744073709551615"};

Explicación

La primera casilla contiene 1 grano. La segunda salida siempre se refiere a las 64 casillas, no solo al prefijo solicitado.

Referencias

Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.

Aprende de otros

Soluciones de la comunidad

Aún no hay soluciones publicadas. Resuelve este reto para compartir la primera.