Giai thừa của một số là những gì chúng ta đang tìm bằng cách sử dụng hàm đệ quy checkFact () trong ví dụ dưới đây -
Nếu giá trị là 1, nó trả về 1 vì Giai thừa là 1 -
if (n == 1) return 1;
Nếu không, thì hàm đệ quy sẽ được gọi cho các lần lặp sau nếu bạn muốn giá trị là 5!
Interation1: 5 * checkFact (5 - 1); Interation2: 4 * checkFact (4 - 1); Interation3: 3 * checkFact (3 - 1); Interation4: 4 * checkFact (2 - 1);
Để tính giai thừa bằng cách sử dụng đệ quy, bạn có thể thử chạy đoạn mã sau để hiển thị những gì được thực hiện ở trên -
Ví dụ
using System; namespace Demo { class Factorial { public int checkFact(int n) { if (n == 1) return 1; else return n * checkFact(n - 1); } static void Main(string[] args) { int value = 9; int ret; Factorial fact = new Factorial(); ret = fact.checkFact(value); Console.WriteLine("Value is : {0}", ret ); Console.ReadLine(); } } }
Đầu ra
Value is : 362880