在C#中,可以通過重載多個方法來實現計算n的階乘。以下是一個示例代碼:
using System;
class Factorial
{
public static int CalculateFactorial(int n)
{
if (n == 0)
{
return 1;
}
else
{
return n * CalculateFactorial(n - 1);
}
}
public static long CalculateFactorial(long n)
{
if (n == 0)
{
return 1;
}
else
{
return n * CalculateFactorial(n - 1);
}
}
public static double CalculateFactorial(double n)
{
if (n == 0)
{
return 1;
}
else
{
return n * CalculateFactorial(n - 1);
}
}
public static void Main()
{
int nInt = 5;
long nLong = 10;
double nDouble = 15.5;
Console.WriteLine($"{nInt}! = {CalculateFactorial(nInt)}");
Console.WriteLine($"{nLong}! = {CalculateFactorial(nLong)}");
Console.WriteLine($"{nDouble}! = {CalculateFactorial(nDouble)}");
}
}
在上面的示例中,我們定義了三個不同數據類型的重載方法,分別用于計算整數、長整數和雙精度浮點數的階乘。您可以根據需要添加更多重載方法來支持其他數據類型。