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