public class TestWhileFactorial{ public static void main(String[] args){ int result=factorial(5); System.out.println("5! ="+result); } public static int factorial(int n){ int s=1; int i=1; while(i<=n){ s*=i; i++; } return s; } }
public class TestForFactorial{ public static void main(String[] args){ int result=factorial(5); System.out.println("5! ="+result); } public static int factorial(int n){ //定义一个factorial方法 int s=1; if(int i=2;i<=n;i++){ s*=i; } return s; } }
public class Testfactorial{ public static void main(String[] args){ int result=factorial(5); System.out.println("5! ="+result); } public static int factorial(int n){ if(n==1){ return 1; //增加出口条件,当n=1时,无需计算阶乘,直接返回结果1. } int s=n*factorial(n-1); return s; } }
注意:所有能以递归解决的问题,循环都可以解决。当解决复杂问题时,递归的实现方式更为简单。