Es war einmal ein weiser Diener, der das Leben eines Prinzen rettete. Der König versprach, ihm alles zu geben, was er sich nur wünschen konnte. Der Diener wusste, dass der König Schach liebte, und bat ihn um Weizenkörner. Ein Korn auf dem ersten Feld eines Schachbretts, und auf jedem weiteren Feld sollte sich die Anzahl der Körner verdoppeln.
Berechne die Anzahl der Weizenkörner auf einem Schachbrett.
Ein Schachbrett hat 64 Felder. Feld 1 hat ein Korn, Feld 2 hat zwei Körner, Feld 3 hat vier Körner und so weiter, wobei sich die Anzahl jeweils verdoppelt.
Schreibe Code, der Folgendes berechnet:
Laut der Vim-Dokumentation:
Wenn 64-Bit-Zahlen verwendet werden (siehe v:numbersize), wird eine vorzeichenlose Zahl auf 0x7fffffffffffffff oder 9223372036854775807 gekürzt.
Anders gesagt: Vim script kann keine Zahl ab 2^63 als Ganzzahl darstellen.
Einige Tests dieser Übung erfordern 64-Bit-Ganzzahlen, und das übersteigt die Größengrenze für Ganzzahlen in Vim script. Wegen dieser Einschränkung werden die Ergebnisse der Berechnungen gegen einen String geprüft, der den Ganzzahlwert ausdrückt, statt die Antwort als Ganzzahl auszudrücken. Kannst du das lösen, indem du Zahlen vermeidest, die größer sind, als die Sprache direkt zulässt?
Melde dich bei Exercism an, um Vim script mit 89 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.