题目 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;
    }
}
相关推荐
ScilogyHunter4 分钟前
C语言标准库完全指南
c语言·开发语言
sali-tec5 分钟前
C# 基于halcon的视觉工作流-章52-生成标定板
开发语言·图像处理·人工智能·算法·计算机视觉
IT古董6 分钟前
【第五章:计算机视觉-项目实战之推荐/广告系统】2.粗排算法-(4)粗排算法模型多目标算法(Multi Task Learning)及目标融合
人工智能·算法·1024程序员节
熬了夜的程序员6 分钟前
【LeetCode】89. 格雷编码
算法·leetcode·链表·职场和发展·矩阵
应茶茶8 分钟前
C++11 核心新特性:从语法重构到工程化实践
java·开发语言·c++
Reggie_L36 分钟前
RabbitMQ -- 高级特性
java·rabbitmq·java-rabbitmq
程子的小段43 分钟前
C 语言实例 - 字符串复制
c语言·开发语言
對玛祷至昏1 小时前
数据结构理论知识
数据结构·算法·排序算法
oliveira-time1 小时前
二分搜索(Binary Search)
算法
-森屿安年-1 小时前
STL 容器:stack
开发语言·c++