Java Schachbrett und Reiskörner in Java HILFE!

...komplette Frage anzeigen

4 Antworten

also da du Big Integer nicht benutzen darfst, nimmst du String und bastelst dir dafür ne einfache multiplikationsmethode. Dann kannst du einfach eine schleife nehmen die 64x multipliziert. Alternativ kannst du auch die schleife nur bis zum eingegebenen Wert laufen lassen.

Schreiben Sie ein Java-Programm »Schachbrett«, das es ermöglicht, das Problem Schachbrett zu lösen.

Unklare Aufgabenstellung. Worin besteht denn das "Problem Schachbrett"?

Die "Formel" ist ganz einfach n = 2^63
da man mit 2^0 (1) für das 1. Feld anfängt!
Wie man das programmtechnisch macht, weis ich nicht. Wie beim Taschenrechner müsste man aber auch größere Zahlen mit E 10 = 10^10 einschreiben können.

Aurel8317648 06.12.2013, 00:22

Achtung: Ergebnis: 2^64 - 1

2
JotEs 06.12.2013, 11:29

2^63 ist die Anzahl der Reiskörner, die auf dem 64. Feld zu liegen kommen. Die Summe der Reiskörner auf allen 64 Feldern hingegen ist 2^64 - 1

1
UlrichNagel 06.12.2013, 12:26
@JotEs

Danke JotEs, wieder mal zu kurz gedacht, vermaledeites Gehirn!

0
Franz1957 06.12.2013, 14:41
@UlrichNagel

Die Fragestellung ist gar nicht klar. Dem Leser wurde selbst überlassen, zu wissen, was "das Problem" ist. Es wurde weder nach der Zahl der Reiskörner auf dem letzten Feld gefragt noch nach der Zahl der Reiskörner auf dem ganzen Schachbrett. Es ist lediglich plausibel, daß letzeres gemeint sein dürfte, weil diese Reismenge laut Geschichte die Belohnung für den Erfinder sein sollte. Das ist keine Haarspalterei von mir. Wir können hier im Forum oft genug sehen, daß Schüler nicht verstehen, was der Lehrer überhaupt will, weil die Aufgabe verwaschen formuliert ist.

0
schuhmode 06.12.2013, 18:18
@Franz1957

Die Fragestellung ist gar nicht klar. Dem Leser wurde selbst überlassen, zu wissen, was "das Problem" ist.

"...der König möge ihm so viele Weizenkörner schenken, wie sich zusammen ergeben, wenn man auf das erste der 64 Felder des Schachbretts ein Weizenkorn legt, auf das zweite zwei, auf das dritte vier,..."

"zusammen" -> Summe. Finde ich klar genug.

0
Franz1957 08.12.2013, 14:53
@schuhmode

Ja, für Freizeit-Programmierung und Denksportaufgaben ist eine unklare Spezifikation kein Beinbruch und trägt für den, der es merkt, noch zum Tiefgang der Aufgabe bei. Wer aber professionell programmieren lernen will, der muß verstehen, daß man dem Auftraggeber so etwas nicht durchgehen lassen darf. Leuten, die nicht klipp und klar sagen können, was sie wollen, muß man auf die Sprünge helfen, sonst kommt man mit ihnen in Teufels Küche.

0
Franz1957 08.12.2013, 14:59
@Franz1957

Das gleiche gilt an der Schule. Lehrer, die verwaschene Aufgaben stellen und dann Noten auf "richtige" und "falsche" Lösungen geben, sind eine Zumutung. Schüler sollten sich das keinesfalls bieten lassen. Das muß uns jetzt hier aber nicht weiter belasten, denn es war von einer beruflichen oder schulischen Aufgabe ja nicht die Rede. Ich bitte dies nur als kritische Randnotiz zu verstehen.

0

Zur Kontrolle:

Es sind insgesamt 2^64 - 1 = 18446744073709551615 ~ 1,84*10^19 Reiskörner.

Gruß, Helmut

19

Was möchtest Du wissen?