题目 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;
    }
}
相关推荐
毕设源码-赖学姐41 分钟前
【开题答辩全过程】以 高校评教评学系统的设计与实现为例,包含答辩的问题和答案
java·eclipse
老华带你飞43 分钟前
博物馆展览门户|基于Java博物馆展览门户系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·后端
liulilittle1 小时前
FileStream C++
开发语言·c++·cocoa
路边草随风1 小时前
iceberg 基于 cosn 构建 catalog
java·大数据
wearegogog1231 小时前
光谱分析波段选择的连续投影算法
算法
It's now1 小时前
Spring Framework 7.0 原生弹性功能系统讲解
java·后端·spring
点PY1 小时前
C++ 中 std::async 和 std::future 的并发性
java·开发语言·c++
执笔论英雄1 小时前
【RL】DAPO 数据处理
算法
不会代码的小猴1 小时前
C++的第九天笔记
开发语言·c++·笔记
一 乐1 小时前
人事管理系统|基于Springboot+vue的企业人力资源管理系统设计与实现(源码+数据库+文档)
java·前端·javascript·数据库·vue.js·spring boot·后端