Lambo-Benni
Bekanntes Mitglied
Die for-Schleife verdoppelt "Reis" soviel Mal, wie Du für "Felder" angibst.
Damit das Sinn macht, darf "Reis" natürlich nicht 0 sein, deshalb setze ich den wert vorher auf 1.
Am Ende wird Reis um 1 zurückgesetzt, weil das Ergebnis sonst nicht der Aufgabenstellung entspräche.
bei 60 Feldern käme 2^60 als Ergebnis heraus. Wenn Du aber alle Reiskörner bis Feld 60 addierst, kommt 2^60-1 heraus (auf dem ersten Feld liegen 2^0 Reiskörner). Das ist etwas Mathe, aber dass es passt merkst Du aber auch leicht durch ausprobieren (einfach mal durchrechnen bei z.B. 3 (2^3-1) oder 4 Feldern (2^4-1)).
Nochmal zur for-Schleife:
for(int i=0; i<Felder; i++) // i wird auf 0 gesetzt und bei jedem Durchlauf um 1 erhöht (i++) ; die Schleife wird solange durchlaufen, bis i nicht mehr kleiner als "Felder" ist.
Wenn Felder = 3 ist, dann läuft die Schleife dreimal durch, einmal mit i=0, dann mit i=1 und mit i=2. Danach ist i=3 und nicht mehr kleiner als "Felder".
Ich hoffe, das war was Du wolltest, einigermaßen verständlich erklärt.
Damit das Sinn macht, darf "Reis" natürlich nicht 0 sein, deshalb setze ich den wert vorher auf 1.
Am Ende wird Reis um 1 zurückgesetzt, weil das Ergebnis sonst nicht der Aufgabenstellung entspräche.
bei 60 Feldern käme 2^60 als Ergebnis heraus. Wenn Du aber alle Reiskörner bis Feld 60 addierst, kommt 2^60-1 heraus (auf dem ersten Feld liegen 2^0 Reiskörner). Das ist etwas Mathe, aber dass es passt merkst Du aber auch leicht durch ausprobieren (einfach mal durchrechnen bei z.B. 3 (2^3-1) oder 4 Feldern (2^4-1)).
Nochmal zur for-Schleife:
for(int i=0; i<Felder; i++) // i wird auf 0 gesetzt und bei jedem Durchlauf um 1 erhöht (i++) ; die Schleife wird solange durchlaufen, bis i nicht mehr kleiner als "Felder" ist.
Wenn Felder = 3 ist, dann läuft die Schleife dreimal durch, einmal mit i=0, dann mit i=1 und mit i=2. Danach ist i=3 und nicht mehr kleiner als "Felder".
Ich hoffe, das war was Du wolltest, einigermaßen verständlich erklärt.