Peano Entwurfsmuster- rekursive Funktion?
- a) Schreiben Sie eine rekursive Funktion mult3: Nat -> Nat, die für eine gegebene Zahl n den Wert 3n berechnet, jedoch ohne dabei die F# eigene Multiplikationsfunktion * zu verwenden.
Beispiele:
mult3 0N = 0N mult3 1N = 3N mult3 5N = 15N
kann mir bitte jemand bei dieser Aufgabe helfen.
2 Antworten
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Informatik, Informatik
Für die ganz einfache Lösung (mit Rekursion ohne Rekursionsfall):
3 * x = x + x + x;
Wenn es eher ein a * x sein soll (hier mit echter Rekursion):
a * x = (a-1) * x + x;
0 * x = 0;
Wenn ihr keine Additionsfuktion gegeben habt müsstest du dir diese erst selbst implementieren basierend darauf wie Addition bei euch definiert ist.
Nutzer, der sehr aktiv auf gutefrage ist
mult3 nN := 0N, für n = 0
mult3 nN := (mult3 (n–1)N) + 3, für n > 0
Woher ich das weiß:Studium / Ausbildung – LMU München, Dipl. Math., eigene Recherche