查看所有50道基础算法题请看:
Java的50道基础算法题
package Demo21Factorial_Summation;
public class Factorial_Summation {
/**
* 求1+2!+3!+…+20!的和。
*/
/*
分析:这个题分为两部分,一部分是求阶乘,另一部分是求阶乘
求阶乘可以用递归的方法,这样会比较简单,而最外层的求和则用一个for循环来做。
*/
public static void main(String[] args) {
// 定义一个变量来计算和并存储最终的结果
int sum =0;
// 定义一个for循环,遍历1~20,求出每一个数的阶乘,并求和
for(int i=1;i<=4;i++){
// 每次循环都调用Factorial()方法,求出每个数的阶乘,在将这个数加起来
sum=sum+Factorials(i);
}
System.out.println("结果是:"+sum);
}
/**
* 定义一个递归的方法来求阶乘的值
* @param num
* @return
*/
public static int Factorials(int num){
if(num==1){
return 1;
}else{
return Factorials(num-1)*num;
}
}
}