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