题目 2114: 信息学奥赛一本通T1173-阶乘和

题目描述:

用高精度计算出S=1!+2!+3!+...+n!(n≤50),其中"!"表示阶乘,例如:5!=5×4×3×2×1。

输入正整数n,输出计算结果S。

代码:

java 复制代码
package lanqiao;

import java.math.BigInteger;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        BigInteger sum = new BigInteger("0");

        for(int i = 1;i <= n;i ++)
        {
            sum = sum.add(f(i));
        }
        System.out.println(sum);
    }

    public static BigInteger f(int n)
    {
        BigInteger sum = new BigInteger("1");

        for(int i = 1;i <= n;i ++)
        {
            sum = sum.multiply(new BigInteger(String.valueOf(i)));
        }
        return sum;
    }
}
相关推荐
小楼v1 分钟前
如何实现AI生成应用部署功能
java·后端·ai·部署
望未来无悔3 分钟前
系统学习算法 专题十九 优先级队列(堆)
java·算法
啊阿狸不会拉杆4 分钟前
《机器学习导论》第3章 -贝叶斯决策理论
人工智能·python·算法·机器学习·numpy·深度优先·贝叶斯决策理论
小虾米 ~4 分钟前
JAVA引用类型
java·开发语言
阿蔹4 分钟前
力扣面试题二Python
python·算法·leetcode·职场和发展
星辰_mya5 分钟前
Elasticsearch之中
java·服务器·数据库
lly2024068 分钟前
C++ 循环
开发语言
fengxin_rou9 分钟前
[Redis从零到精通|第三篇]:缓存更新指南
java·数据库·redis·spring·缓存
九转成圣13 分钟前
告别肉眼解析!Java 递归实现 JSON 全路径自动化探测工具
java·自动化·json
_运维那些事儿13 分钟前
skywalking链路追踪
java·运维·ci/cd·软件构建·skywalking·devops