题目 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;
    }
}
相关推荐
qq_14182697324 分钟前
python通过curl访问deepseek的API调用案例
java·数据库·python
lyw2056196 分钟前
微服务八股(自用)
java·开发语言
dot to one6 分钟前
Qt 中 QWidget涉及的常用核心属性介绍
开发语言·c++·qt
液态不合群14 分钟前
理解 C# 中的各类指针
java·开发语言·c#
一只码代码的章鱼16 分钟前
Java Spring MVC -01
java·spring·mvc
小森776720 分钟前
(七)深度学习---神经网络原理与实现
人工智能·深度学习·神经网络·算法
橙子1991101623 分钟前
Kotlin 中的作用域函数
android·开发语言·kotlin
zimoyin23 分钟前
Kotlin 懒初始化值
android·开发语言·kotlin
Persistence___31 分钟前
SpringBoot中的拦截器
java·spring boot·后端
迷茫不知归路38 分钟前
操作系统实验习题解析 上篇
c++·算法·操作系统·实验课设