Also, für meine Aufgabe, soll ich eine Funktion, die 2 nicht vorzeichenbehaftete Argumente und ihre Produkte ausgibt. , /, * Oder% Operatoren -Multiplikation mit nur rekursive Funktionen und Inkrementierung in C
unsigned multiply(unsigned a, unsigned b);
Zum Beispiel
multiply(3, 4)
zurückkehren sollte 12
Die Sache ist, ich bin nicht +, zu benutzen. Ich darf nur Funktionen aufrufen und mit ++ und - inkrementieren/dekrementieren.
Ich habe eine andere Funktion bereits zwei Argumente hinzuzufügen:
unsigned add(unsigned a, unsigned b)
{
if (a > 0)
add(--a, ++b);
else return(b);
}
und ich bin dies zu nennen erlaubt, zusammen mit irgendwelchen Hilfsfunktionen ich brauche.
Ich habe die letzten 30 Minuten damit verbracht, verschiedene Permutationen auszuprobieren, aber ich kann die Mathematik nicht richtig machen; Das nächste, was ich je bekommen habe, ist, dass ich mich b mal verdopple, aber das wird es nicht schneiden. Irgendwelche Ideen?
Edit: Vergessen zu erwähnen! Für/While-Schleifen sind nicht erlaubt entweder
Aha! Ich musste die Sekunde (a> 0) zu (a> 1) ändern, aber das funktioniert gut! Danke –
In diesem Fall, was passiert mit den Ergebnissen von "multiplizieren (0, 5)"? – BLUEPIXY