Lập trình C# - Viết hàm đệ qui để tính giai thừa

Viết hàm đệ qui để tính giai thừa

Viết chương trình C# để tạo một hàm tự định nghĩa có sử dụng phương pháp đệ qui để tính giai thừa của một số.

Đây là bài tập C# đơn giản minh họa giúp bạn các bước để khai báo, định nghĩa và gọi hàm tự định nghĩa trong C#.

Chương trình C#

Dưới đây là chương trình C# minh họa lời giải cho bài tập tạo hàm đệ qui để tính giai thừa của một số trong C#:

using System;

namespace Csharp
{
    class TestCsharp
    {
        static void Main()
        {
            decimal f;
            Console.Write("\nTao ham de qui de tinh giai thua trong C#:\n");
            Console.Write("-------------------------------------------\n");
            Console.Write("Nhap mot so: ");
            int num = Convert.ToInt32(Console.ReadLine());
            f = TinhGiaiThua(num);
            Console.WriteLine("Giai thua cua {0}! la {1}", num, f);

            Console.ReadKey();
        }

        //tao mot ham tu dinh nghia de tinh giai thua
        //ham nay la ham de qui va nhan mot so nguyen lam tham so
        static decimal TinhGiaiThua(int n1)
        {  
            if (n1 == 0)
            {
                return 1;
            }
            // Goi ham de qui: goi toi chinh ham nay 
            else
            {
                return n1 * TinhGiaiThua(n1 - 1);
            }
        }    
    }
}
Xem ví dụ

Biên dịch và chạy chương trình C# trên sẽ cho kết quả:

Tao ham de qui de tinh giai thua trong C#:
-------------------------------------------
Nhap mot so: 3
Giai thua cua 3! la 6