Berechne die Anzahl der Weizenkörner auf einem Schachbrett, wenn sich die Anzahl auf jedem Feld verdoppelt.
Es war einmal ein kluger Diener, der das Leben eines Prinzen rettete. Der König versprach, ihm zu geben, was immer der Diener sich ausdenken konnte. Weil der Diener wusste, dass der König Schach liebte, bat er den König um Weizenkörner. Ein Korn auf dem ersten Feld eines Schachbretts, wobei sich die Anzahl der Körner auf jedem weiteren Feld verdoppelt.
Ein Schachbrett hat 64 Felder (wobei Feld 1 ein Korn hat, Feld 2 zwei Körner und so weiter).
Schreibe Code, der zeigt:
Diese Art von Problemen (bei denen eine Antwort von einer vorherigen abhängt) wird oft als Rekursion bezeichnet. Es gibt verschiedene Möglichkeiten, Rekursion zu programmieren. Wenn du damit nicht vertraut bist, könnte es sich lohnen, dich darüber zu informieren. Pharo ist gut für Rekursion optimiert, und es ist ein häufig verwendetes Muster.
Hinweis: In der ursprünglichen Problembeschreibung wird der grainsCalculator über #square aufgerufen, wir haben diese Methode jedoch in #atSquare: umbenannt, was einem Smalltalk-ähnlicheren Namen entspricht und besser beschreibt, dass du eine Antwort „auf einem Feld“ anforderst.
Melde dich bei Exercism an, um Pharo mit 50 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.