一个数字的阶乘(用!表示,例如9!)是该数字与一个低阶阶乘的乘积。因此,例如9!= 9 x 8!= 9 x 8 x 7!= 9 x 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1。
因此,在使用递归的代码中:
long Factorial(long x)
{
if (x < 1)
{
throw new OutOfRangeException("阶乘只能与正数一起使用。");
}
if (x == 1)
{
return 1;
} else {
return x * Factorial(x - 1);
}
}