Java基础算法题(21):求1+2!+3!+…+20!的和。

查看所有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;
        }
    }
}
发布了54 篇原创文章 · 获赞 1 · 访问量 2308

猜你喜欢

转载自blog.csdn.net/weixin_44803446/article/details/105355057
今日推荐