首页 > 其他分享 >求1+2!+3!+...+20!的和

求1+2!+3!+...+20!的和

时间:2022-12-31 20:34:02浏览次数:36  
标签:20 recursion sum 算法 阶乘 +...+

题目

题目:求1+2!+3!+...+20!的和。

算法分析

总共两个部分组成,一部分是对每个数通过《利用递归方法求阶乘》中介绍的递归算法求阶乘,一部分是累加求和。显然,第一部分就是直接调用函数recursion。

源码实现

Java 语言的实现方法如下:

    
   public static void main(String[] args) {
        sum(20);
    }
    /**
     * 对阶乘求和
     */
    public static void sum(Integer max) {
        long sum = 0;
        for (int i = 1; i <= max; i++) {
            sum += recursion(i);
        }
        System.out.println(max +"的阶乘累加之和为 " + sum);
    }
    /**
     * 递归求阶乘
     *
     * @param n 阶乘数
     */
    public static long recursion(long n) {
        long value = 0;
        if (n == 1 || n == 0) {
            value = 1;
        } else if (n > 1) {
            value = n * recursion(n - 1);
        }
        return value;
    }

为了保证代码的完整性,这里再次给出了recursion函数。算法执行结果如下:

20的阶乘累加之和为 2561327494111820313

标签:20,recursion,sum,算法,阶乘,+...+
From: https://www.cnblogs.com/east7/p/17017199.html

相关文章

  • UNIQUE VISION Programming Contest 2022 Winter(AtCoder Beginner Contest 283)
    A-PowerGivenintegersAandB,printthevalueA^B.基础不解答B-FirstQueryProblem基础不解答C-CashRegisterTakahashiisacashier.Thereis......
  • 2022年终总结
    前言一年了,一年没更新博客了,今年似乎变懒了很多,但是今年还是有很多值得写的东西,那么就趁着新年交界之际,简单对今年的生活和工作做一个总结吧。封在家的上半年时间回到3......
  • LyShark 我的2022年末总结
    今天是2022年12月31日,也是2022年的最后一天,由于疫情缘故,今年不管是企业还是个人其实都过得不太好,今年也是特殊的一年,标志着疫情封控的结束,对于我个人来说今年有收获也有遗......
  • 2022年总结--自动化测试框架设计
     一、自动化测试没那么简单简而言之,自动化测试就是利用脚本来完成重复、机械、繁重的手工测试。从使用功能的角度而言,自动化测试脚本既是一个工具,也是一款软件。因......
  • SequoiaDB分布式数据库2022.12月刊
    本月看点速览赋能金融科技,产品实力获权威认可技术实力吸睛,获国际知名媒体、权威机构肯定朋友圈持续壮大,与两家合作伙伴完成互认证青杉计划2023已开启,一起攀登更高的“......
  • Good Bye 2022: 2023 is NEAR C
    GoodBye2022:2023isNEARC第一道题真是没理解,wa了好多次还好后来知道了题意就好做了,我现在在这里就补一下c,之前想了一会,还是不明白,后来想到了一些,容我讲一讲C这道......
  • C++通讯录管理程序[2022-12-31]
    C++通讯录管理程序[2022-12-31]问题描述:编写一个简单的通讯录管理程序。通讯录记录有姓名,地址(省、市(县)、街道),电话号码,邮政编码等四项。基本要求:程序应提供的基......
  • 蓝桥杯12021
    卡片 1#include<iostream>2#include<cmath>3#include<algorithm>4#include<iomanip>5usingnamespacestd;6intcnt[10]={0};7intmain(){......
  • 写于2022年12月31日
    明年继续努力,不负韶华,做一名优秀的工程师!这个世界上最不缺的,就是普通;你想成为什么样的人?你为之付出多少汗水!你是否倾其所有,还是将将就就!就像士兵突击里五班长说的,千万不要混......
  • Good Bye 2022: 2023 is NEAR
    A.KoxiaandWhiteboards(CF1770A)题目大意给定一个包含\(n\)个数的数组\(a\),以及\(m\)次操作。第\(i\)次操作将\(a\)中的一个数替换为\(b_i\)。问\(m\)次操......