Tutte le sfide
Facile 0 risolte 0% di accettazione

Raddoppio dei chicchi sulla scacchiera

Calcola il numero di chicchi su una casella e il totale su tutte le 64 caselle.

La casella 1 contiene un chicco. Ogni casella successiva contiene il doppio dei chicchi della casella precedente. Restituisci sia il numero di chicchi sulla casella richiesta sia il totale sulle caselle dalla 1 alla 64. Scrivi ogni valore come testo decimale, perché il totale della scacchiera è troppo grande per un intero con segno a 64 bit.

Implementa chessboard_grains(square).

Input

square: La casella richiesta, numerata a partire da 1.

Output

Restituisci due stringhe decimali: [numero di chicchi sulla casella richiesta, totale su tutte le 64 caselle].

Vincoli

1 ≤ square ≤ 64. Le stringhe di output devono contenere solo cifre decimali, senza virgole, spazi o zeri iniziali.

Esempi

Esempio 1
Input:
square = 6

Output atteso:
expected = ["32", "18446744073709551615"]
Input:
long long square = 6;

Output atteso:
std::vector<std::string> expected = {"32", "18446744073709551615"};
Input:
long square = 6;

Output atteso:
string[] expected = new string[] {"32", "18446744073709551615"};

Spiegazione

I primi sei valori sono 1, 2, 4, 8, 16, 32. Il totale sulla scacchiera è 1 + 2 + … + 2⁶³ = 2⁶⁴ − 1.

Esempio 2
Input:
square = 1

Output atteso:
expected = ["1", "18446744073709551615"]
Input:
long long square = 1;

Output atteso:
std::vector<std::string> expected = {"1", "18446744073709551615"};
Input:
long square = 1;

Output atteso:
string[] expected = new string[] {"1", "18446744073709551615"};

Spiegazione

La prima casella contiene 1 chicco. Il secondo valore di output si riferisce sempre a tutte le 64 caselle, non solo al prefisso richiesto.

Riferimenti

Questa sfida è adattata per CodeUtility. Segui la traccia e i vincoli sopra.

Impara dagli altri

Soluzioni della community

Nessuna soluzione pubblicata. Risolvi questa sfida per condividere la prima.