题目 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;
    }
}
相关推荐
文艺倾年7 分钟前
【源码精讲+简历包装】LeetcodeRunner—手搓调试器轮子(20W字-下)
java·开发语言·人工智能·语言模型·自然语言处理·大模型·免训练
菜鸡儿齐8 分钟前
leetcode-最小覆盖子串
算法·leetcode·职场和发展
励ℳ18 分钟前
Python环境操作完全指南
开发语言·python
流云鹤23 分钟前
2026牛客寒假算法基础集训营4(A B C I H F G)
算法
海兰23 分钟前
Elastic Stack 9.3.0 日志探索
java·服务器·前端
每天要多喝水26 分钟前
动态规划Day31:子序列长度1
算法·动态规划
invicinble27 分钟前
centos7系统安装jdk
java·开发语言
御坂10101号30 分钟前
JIT 上的 JIT:Elysia JS 的优化实践与争议
开发语言·javascript·网络·性能优化·node.js·express
lxl130733 分钟前
C++算法(3)二分算法
数据结构·c++·算法
随意起个昵称34 分钟前
Dijstra算法学习笔记
笔记·学习·算法