Auf Thema antworten

An was genau scheitert es denn?


Es sind ja zwei Schritte:

a) die äußere Schleife - das hast Du doch bestimmt hinbekommen, oder?

b) die Darstellung einer Zahl zu einer beliebigen Basis - wenn Du eine zahl abcd mit Basis x hast (a,b,c,d sind Elemente aus den möglichen Ziffern), dann ist der Wert a*x^3 + b*x^2 + c*x^1 + d *x^0

Spiel das einfach einmal durch mit x = 10:

1234 ist ja 1*10^3 + 2*10^2 + 3*10^1 + 4*10^0


Wenn Du die einzelnen Ziffern von der Zahl 1234 haben willst, dann rechnest Du immer %10 und dann / 10 um die Zahl zu bekommen, mit der Du weiter rechnest:

1234 % 10 = 4 -> erste Ziffer (Einerstelle)

1234 / 10 = 123 -> Wir rechnen mit 123 weiter

123 % 10 = 3 -> zweite Ziffer (Zehner)

123 / 10 = 12 -> Wir rechnen mit 12 weiter

Das geht so weiter, bis man dann am Ende eine 0 hat.


Wenn Du nun statt Basis 10 die Basis 3 haben willst, dann rechnest Du abwechselnd % 3 und dann für die übrigen Ziffern / 3 um den Wert zu bekommen, um weiter zu rechnen.


Sind damit die beiden Schritten deutlich geworden? Kannst Du damit den Code selbst anpassen?



Oben