阶乘函数
阶乘函数可递归的定义为
n!分为2种:
n=0 n!=1
n>0 n!=n(n-1)!
阶乘函数的自变量n的定义域是非负整数,递归式的第一式给出了这个函数的初始值,是非递归地定义的,每个递归函数都必须有非递归定义的初始值,否则递归函数就无法计算,递归式的第二试是用比较小自变量的函数值来表示较大自变量的函数值的方式来定义n的阶乘。定义式的左右两边都引用了阶乘记号,是递归定义式。
demo:如下
public class FactorialFunction
{
public static int factorial(int n)
{
if(n==0) return 1;
else return n* factorial(n-1);
}
public static void main(String[] args)
{
System.out.println("5!="+FactorialFunction.factorial(5));
}
}
注明:如果是这里用的是int我是随便写的如果有数字比较大,请使用BigInteger来定义,需要导入import java.math.BigInteger。