java代码求阶乘n!

  面试过程中总是遇到要求写一段Java代码求阶乘。下面就是就是两种求阶乘 n! 的方法:

1、使用递归求解n!

 1 public int doFactorial(int n){
 2         if(n<0){
 3             return -1;//传入的数据不合法
 4         }
 5         if(n==0){
 6             return 1;
 7         }else if(n==1){//递归结束的条件
 8             return 1;
 9         }else{
10             return n*doFactorial(n-1);
11         }
12 }

2、不使用递归求解n!

 1 public int doFactorial(int n){
 2         int result = 1;
 3         if(n<0){
 4             return -1;//返回-1,说明传入数据不合法
 5         }
 6         if(n==0){
 7             return 1;
 8         }
 9         for(int i =1;i<=n;i++){
10             result*=i;
11         }
12         return result;
13 }

 

posted on 2018-08-02 23:32  常建明  阅读(23604)  评论(0)    收藏  举报

导航