【代码】
版本一】:递归调用
class Factorial { public static void main(String[] args) { //调用方法 long sum = getFactorialSum(10); System.out.println(sum); } //定义求阶乘的方法:递归调用 public static long factorial(int m){ long value = 0; if(m==1){ value = 1; }else{ value = m*factorial(m-1); } return value; } //定义阶乘之和 public static long getFactorialSum(int n){ long sum = 0; for(int i=1;i<=n;i++){ sum+=factorial(i); } return sum; } }版本二】
class Factorial { public static void main(String[] args) { /*//调用方法 long sum = getFactorialSum(10); System.out.println(sum); } //定义求阶乘的方法:递归调用 public static long factorial(int m){ long value = 0; if(m==1){ value = 1; }else{ value = m*factorial(m-1); } return value; } //定义阶乘之和 public static long getFactorialSum(int n){ long sum = 0; for(int i=1;i<=n;i++){ sum+=factorial(i); } return sum; }*/ int k = 1; long sum = 0; int fac = 1; for(int i =1;i<=10;i++){ fac*=i; sum+=fac; } System.out.println(sum); } }【运行结果】
