题目:阶乘求和,利用递归方法求1!+2!+···+10!
(含代码详细注释和输出结果)
参考代码如下:
//新建一个类名为Factorial的类,用于求阶乘
public class Factorial {
public static void main(String [] args){
//调用factorialSum()方法进行求和
long sum=factorialSum(10);
//输出1!+2!+···+10!的计算结果
System.out.println("1!+2!+···+10!= "+sum);
}
private static long factorialSum(int num){
long sum=0;//定义一个变量sum,用于保存求和结果
for(int i=1;i<=num;i++)//从1~num依次进行计算
sum=sum+factorial(i);//调用factorial()方法
return sum;
}
public static long factorial(int num){
if(num==1)//如果是1的阶乘,sum=1,直接返回1
return 1;
else//否则,就不断计算num*factorial(num-1)的值,直到factorial(num-1)=1
return num*factorial(num-1);
}
}
输出结果如下图所示: