题目 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;
    }
}
相关推荐
5***262223 分钟前
Spring Boot问题总结
java·spring boot·后端
风生u29 分钟前
go进阶语法
开发语言·后端·golang
666HZ66631 分钟前
C语言——黑店
c语言·开发语言
Gomiko37 分钟前
JavaScript基础(八):函数
开发语言·javascript·ecmascript
xkroy39 分钟前
Spring Boot日志
java·spring boot·后端
云里雾里!40 分钟前
力扣 209. 长度最小的子数组:滑动窗口解法完整解析
数据结构·算法·leetcode
n***F87541 分钟前
【Spring Boot】SpringBoot自动装配-Import
java·spring boot·后端
〝七夜56944 分钟前
JVM内存结构
java·开发语言·jvm
初级炼丹师(爱说实话版)44 分钟前
JAVA泛型作用域与静态方法泛型使用笔记
java·开发语言·笔记
盖世英雄酱581361 小时前
Java.lang.Runtime 深度解析
java·后端