Alle Herausforderungen
Einfach 0 gelöst 0% Erfolgsquote

Verdopplung der Körner auf einem Schachbrett

Berechne die Kornanzahl auf einem Feld und die Gesamtsumme auf allen 64 Feldern.

Feld 1 enthält ein Korn. Jedes nachfolgende Feld enthält doppelt so viele Körner wie das vorherige Feld. Gib sowohl die Anzahl auf dem angeforderten Feld als auch die Gesamtsumme auf den Feldern 1 bis 64 zurück. Schreibe jede Anzahl als Dezimaltext, da die Gesamtsumme des Brettes zu groß für einen vorzeichenbehafteten 64-Bit-Integer ist.

Implementiere chessboard_grains(square).

Eingabe

square: Das angeforderte Feld, nummeriert ab 1.

Ausgabe

Gib zwei Dezimalstrings zurück: [Anzahl auf dem angeforderten Feld, Gesamtsumme auf allen 64 Feldern].

Einschränkungen

1 ≤ square ≤ 64. Die Ausgabestrings enthalten nur Dezimalziffern, ohne Kommas, Leerzeichen oder führende Nullen.

Beispiele

Beispiel 1
Eingabe:
square = 6

Erwartete Ausgabe:
expected = ["32", "18446744073709551615"]
Eingabe:
long long square = 6;

Erwartete Ausgabe:
std::vector<std::string> expected = {"32", "18446744073709551615"};
Eingabe:
long square = 6;

Erwartete Ausgabe:
string[] expected = new string[] {"32", "18446744073709551615"};

Erläuterung

Die ersten sechs Anzahlen sind 1, 2, 4, 8, 16, 32. Die Gesamtsumme des Brettes ist 1 + 2 + … + 2⁶³ = 2⁶⁴ − 1.

Beispiel 2
Eingabe:
square = 1

Erwartete Ausgabe:
expected = ["1", "18446744073709551615"]
Eingabe:
long long square = 1;

Erwartete Ausgabe:
std::vector<std::string> expected = {"1", "18446744073709551615"};
Eingabe:
long square = 1;

Erwartete Ausgabe:
string[] expected = new string[] {"1", "18446744073709551615"};

Erläuterung

Das erste Feld enthält 1 Korn. Die zweite Ausgabe bezieht sich immer auf alle 64 Felder, nicht nur auf das angeforderte Präfix.

Referenzen

Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.

Von anderen lernen

Community-Lösungen

Noch keine veröffentlichten Lösungen. Löse die Aufgabe und teile als Erster eine Lösung.