面試過程中總是遇到要求寫一段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 }