题目 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;
    }
}
相关推荐
像风一样自由20202 分钟前
Go语言入门指南-从零开始的奇妙之旅
开发语言·后端·golang
多多*5 分钟前
分布式系统中的CAP理论和BASE理论
java·数据结构·算法·log4j·maven
sg_knight8 分钟前
Docker 实战:如何限制容器的内存使用大小
java·spring boot·spring·spring cloud·docker·容器·eureka
yuan1999712 分钟前
基于粒子群优化(PSO)算法的PID控制器参数整定
算法
合作小小程序员小小店23 分钟前
web网页开发,在线考勤管理系统,基于Idea,html,css,vue,java,springboot,mysql
java·前端·vue.js·后端·intellij-idea·springboot
小白程序员成长日记44 分钟前
2025.11.10 力扣每日一题
数据结构·算法·leetcode
hoiii1871 小时前
基于交替方向乘子法(ADMM)的RPCA MATLAB实现
人工智能·算法·matlab
fengfuyao9851 小时前
MATLAB的加权K-means(Warp-KMeans)聚类算法
算法·matlab·kmeans
CoderYanger1 小时前
前端基础——CSS练习项目:百度热榜实现
开发语言·前端·css·百度·html·1024程序员节
虾..2 小时前
C++ 哈希
开发语言·c++·哈希算法