Kann jemand erklären was genau das Programm macht?

2 Antworten

Naja, sagen wir du tust 4567 rein, dann ist d

7*2^0 + 6*2^1 + 5*2^2 + 4*2^3 = 7 + 12 + 20 + 32 = 71

Also wie die Quersumme, nur dass jede Ziffer davor mit i^Stelle (von rechts aus) multipliziert wurde

Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf

In den ersten Blöcken werden die Variable d, i und remainder definiert und d und i wird der Wert 0 zugewiesen.

Als Nächstes wird eine Schleife gestartet, die solange läuft, wie n nicht 0 ist.

Der erste Block teilt die Zahl n durch 10 und gibt speichert den Rest Wert von der Division. In anderen Worten wird die letzte Ziffer in der Zahl abgespeichert.

Dann wird die Zahl n durch 10 geteilt, um die letzte Ziffer abzuschneiden.

Zusammengefasst ist es ein Iterieren über jede Ziffer der Zahl n.

Im nächsten wird die Ziffer mit 2 hoch der Iteration multipliziert und mit sich selber addiert. Das Ergebnis davon wird in d gespeichert. Die Schleife beginnt bei der rechten Ziffer und endet mit der linken Ziffer. Die Linke Ziffer hat also durch die höheren Iterationen die höchste Wertung.

Die Variable i zählt die Durchgänge (Iterationen) und wird jeweils um 1 erhöht.

Welche Funktion diese Berechnung am Ende erfüllen soll, kann ich dir nicht sagen.