Dezimal in Dual rekursiv?
Ich muss per C# eine Dezimal- in eine Dualzahl umwandeln und dies als rekurisve Variante.
An sich habe ich das geschafft, allerdings mit Abbruchbedingung und While-Schleife, aber so ist es iterativ, oder nicht?
Ich habe leider nirgends gefunden, wie man diese Umwandlung rekursiv hinbekommt.
Hat jemand da mehr Ahnung und kann mir vielleicht helfen?
2 Antworten
Ja, das ist eine iterative Lösung :) Rekursion wäre, wenn die Funktion sich selber aufruft!
Also dual() ruft dann irgendwo dual(dezimal / 2) auf. Hilft dir das schon weiter?
Rekursion bedeutet quasi, ich weiß nicht wie man es für n löst. Aber Wenn ich n-1 kenne, dann kann ich n ableiten! Und das führst du so lange runter bis n trivial ist. (In deinem Falle wäre das 0)
Ja genau, was du da hast, ist Iterativ.
Da du die Funktion nicht sich selbst aufrufen lässt, ist das keine Rekursion.
An sich besteht dein Rekursiver Aufruf aus zwei Zeilen:
- Abbruchbedingung (wenn der Wert 0 ist)
- Sonst
und jetzt überleg dir doch mal genau, wie du auf dem Papier Dezimal zu Binär umrechnen lassen würdest.