Computer >> Máy Tính >  >> Lập trình >> lập trình C

Giải thích hàm đệ quy bằng ngôn ngữ C với chương trình

Hàm đệ quy là quá trình xác định một cái gì đó về bản thân nó. Nó là một hàm tự gọi lại chính nó trong phần thân của hàm.

Một hàm fact (), tính giai thừa của một số nguyên ‘N’, là tích của tất cả các số nguyên từ 1 đến N.

Khi fact () được gọi với đối số là 1 (hoặc) 0, hàm trả về 1. Nếu không, nó trả về tích của n * fact (n-1), điều này xảy ra cho đến khi ‘n’ bằng 1.

Fact (5) =5* fact (4)
   =5*4*3* fact (3)
   =5*4*3*2* fact (2)
   =5*4*3*2*1 fact (1)
   =5*4*3*2*1
   = 120.

Ví dụ

Sau đây là chương trình C cho hàm đệ quy -

#include<stdio.h>
int main ( ){
   int n,f;
   int fact (int);
   printf ("enter a number");
   scanf ("%d", &n);
   f= fact (n);
   printf ("factorial value = %d",f);
}
int fact (int n){
   int f;
   if ( ( n==1) || (n==0))
      return 1;
   else f= n*fact (n-1);
      return f;
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

Enter a number 5
Factorial value = 120