Code eine integer-Multiplikation-Funktion mit Rekursion (in C)
Kann mir jemand sagen, wie zu schreiben, ein Multiplikations-Funktion (in C
) mit Rekursion?
- Bitte den Nachweis erbringen, dass Sie haben zumindest versucht, das problem. Dies ist keine Hausaufgaben Seite. Wir sind hier um zu helfen, nicht Ihre Arbeit für Sie.
- Gewinner der unsachgemäße Einsatz von rekursionen 2009.
Du musst angemeldet sein, um einen Kommentar abzugeben.
OK, let ' s original. 🙂
Wenn Sie wirklich wollen, zu beeindrucken Sie Ihre Kollegen und Ihre Lehrer, senden Sie diese - es ist sowohl rekursive und schnell!
Hinzugefügt: Als zusätzlichen bonus, diese korrekt verarbeitet sowohl positive, negative oder 0-Werte.
Hier ist die Funktion:
Haben Sie, um Weise zu sein mehr spezifisch, wenn Sie möchten, eine gute Hilfe. Aber hier ist eine rekursive Funktion in C, die multipliziert zwei positive ganze zahlen:
Ok:
Grummel, grummel. Geschieht mir Recht für das schreiben aus dem Gedächtnis und ohne testen. Dies wird getestet, für viele integer-Bereiche, negative und positive, gerade und ungerade. Sollte die Arbeit für einen beliebigen ganzzahligen Wert. Merry Wintereenmas.
Hinzufügen, dass es sich immer wieder einmal, N-mal. Das ist, wenn Sie wollen multiplizieren eine Anzahl von N..
Alternative version:
Hey, er hat nicht gesagt, dass nicht die
operator*
...Funktioniert dies nur, wenn der erste operand größer ist als null, aber es ist wenigstens kurz und verwirrend. 😉
Allerdings bin ich mir nicht sicher, dass die Bewertung Auftrag definiert ist, so müssen Sie möglicherweise verschieben Sie den Dekrement-außerhalb der Ausdruck:
wenn ich mich nicht Irre , ist es so...
50 Zeichen:
Ich hoffe, dass ich Punkte für die Nutzung der
rand()
Funktion (gerade so), und der Allgemeinen syntax-Feinheiten. Abhängig von Ihrem system-Bibliothek und die phase des Mondes, werden Sie gewarnt, dass die Rekursion kann dazu führen, segfault für hohe Werte der Argumente, wie die Berechnung der2 × 3
.