1. 引言
实现阶乘的方法很多,这边介绍四种方法,分别是递归,尾递归,循环和BigDecimal。
2. 代码
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Alogrithm a = new Alogrithm1();
a.fact(5);
a.print(a.factN(6));
a.print(a.factFor(7));
}
}
class Alogrithm{
void fact(int n){
fact_iter(n,1);
}
int fact_iter(int n, int product){
if(n == 1 || n == 0){
System.out.println("step n=" + n +" value:"+product);
return 1*product;
}else{
System.out.println("step n=" + n +" value:"+product);
return fact_iter((n-1),n*product);
}
}
int factN(int n){
if(n =&#