Lập trình hàm - Đệ quy
Một hàm gọi chính nó được gọi là một hàm đệ quy và kỹ thuật này được gọi là đệ quy. Một lệnh đệ quy tiếp tục cho đến khi một lệnh khác ngăn cản nó.
Đệ quy trong C ++
Ví dụ sau đây cho thấy cách hoạt động của đệ quy trong C ++, một ngôn ngữ lập trình hướng đối tượng -
#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;
}
Nó sẽ tạo ra kết quả sau
Enter a positive integer: 5
Factorial of 5 = 120
Đệ quy trong Python
Ví dụ sau đây cho thấy cách hoạt động của đệ quy trong Python, là một ngôn ngữ lập trình hàm:
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)))
Nó sẽ tạo ra kết quả sau:
Enter a number: 6
The factorial of 6 is 720