在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)}");
}
}
在上面的示例中,我们定义了三个不同数据类型的重载方法,分别用于计算整数、长整数和双精度浮点数的阶乘。您可以根据需要添加更多重载方法来支持其他数据类型。