如大家熟悉的阶乘函数, 我们可以对n!做如下定义:
1 n = 0
factorial(n)=
n*factorial(n-1) n > 0
根据定义, 如果要计算n!(factorial(n)), 需要点调用factorial(n-1)计算(n-1)!, 而要计算(n-1)!需要西安调用 factorial(n-2)计算(n-2)!, 以此类推, 最终要调用factorial(0)计算0!, 然后程序逐步返回, 即可计算出n!.
阶乘函数的C#语言实现如下: public static long fact(int n)
{
if (n <= 1)
{
return 1;
}
else {
return n * fact(n - 1);
}
}
我就是不懂他这里的 ! 号是什么意思..麻烦能不能解释一下上述内容!!!
1 n = 0
factorial(n)=
n*factorial(n-1) n > 0
根据定义, 如果要计算n!(factorial(n)), 需要点调用factorial(n-1)计算(n-1)!, 而要计算(n-1)!需要西安调用 factorial(n-2)计算(n-2)!, 以此类推, 最终要调用factorial(0)计算0!, 然后程序逐步返回, 即可计算出n!.
阶乘函数的C#语言实现如下: public static long fact(int n)
{
if (n <= 1)
{
return 1;
}
else {
return n * fact(n - 1);
}
}
我就是不懂他这里的 ! 号是什么意思..麻烦能不能解释一下上述内容!!!
函数定义如下:
n=0; 1
n! = f(n){
n>0;(n-1)! * n
否则n! = 1×2×3×....× (n-1) × n