Funktionale Programmierung - Rekursion
Eine Funktion, die sich selbst aufruft, wird als rekursive Funktion bezeichnet, und diese Technik wird als Rekursion bezeichnet. Ein Rekursionsbefehl wird fortgesetzt, bis ein anderer Befehl dies verhindert.
Rekursion in C ++
Das folgende Beispiel zeigt, wie die Rekursion in C ++ funktioniert, einer objektorientierten Programmiersprache.
#include <stdio.h>
long int fact(int n);
int main() {
int n;
printf("Enter a positive integer: ");
scanf("%d", &n);
printf("Factorial of %d = %ld", n, fact(n));
return 0;
}
long int fact(int n) {
if (n >= 1)
return n*fact(n-1);
else
return 1;
}
Es wird die folgende Ausgabe erzeugt
Enter a positive integer: 5
Factorial of 5 = 120
Rekursion in Python
Das folgende Beispiel zeigt, wie die Rekursion in Python funktioniert, einer funktionalen Programmiersprache.
def fact(n):
if n == 1:
return n
else:
return n* fact (n-1)
# accepts input from user
num = int(input("Enter a number: "))
# check whether number is positive or not
if num < 0:
print("Sorry, factorial does not exist for negative numbers")
else:
print("The factorial of " + str(num) + " is " + str(fact(num)))
Es wird die folgende Ausgabe erzeugt -
Enter a number: 6
The factorial of 6 is 720