来源于这个博主的文章,本文仅作为我的学习笔记,为迎战下一个蓝桥杯,不侵占小宇想撒野的博客(90条消息) 2023第十四届蓝桥杯Java B组个人题解_小宇想撒野的博客-CSDN博客
问题描述
令 S = 1! + 2! + 3! + … + 202320232023!,求 S 的末尾 9 位数字。
提示:答案首位不为 0。
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
知识要点:BigInteger
解题,比赛的时候想着要用“BigInteger”,但是怎么算的都没有想到只算前50个数字。
import java.math.BigInteger;
import java.util.Arrays;
import java.util.Scanner;
import java.util.TreeSet;
public class competitionDay_2 {
public static void main(String[] args) {
BigInteger sum=new BigInteger("0");
for (int i = 1; i <50 ; i++) {
BigInteger n=new BigInteger("1");
for (int j = 1; j < i+1; j++) {n=n.multiply(new BigInteger(""+j));}
sum=sum.add(n);
System.out.println(sum.mod(new BigInteger(""+1000000000)));}
}
}
结果