蓝桥杯3500阶乘求和java

不要被题目的2023吓到,做这道题可以先观察一下前几个阶乘的值,这里我们看看前20个:

复制代码
1
2
6
24
120
720
5040
40320
362880
3628800
39916800
479001600
6227020800
87178291200
1307674368000
20922789888000
355687428096000
6402373705728000
121645100408832000
2432902008176640000

我们不难发现越到后面的数的阶乘,结尾的0就越多,而且每5个数后面的0会多一位,所以我们计算前45个就行(后来发现前40个就行,因为25贡献了两个因子 5),题目只需要求后9位,所以前面的不用管。

java 复制代码
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
    public static void main(String[] args) {
        long sum=0;
        for (int i=1;i<45;i++){
            sum+=jiecheng(i);
        }
        sum=sum%1000000000L;
        System.out.println(sum);
    }
    public static long jiecheng(long num){
        long sum=1;
        for (long i=num;i>1;i--){
            sum*=i;
            sum=sum%1000000000L;
        }
        return sum;
    }
}
相关推荐
小菜鸡桃蛋狗2 小时前
C++——string(上)
开发语言·c++
wljy12 小时前
第十三届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组(个人见解,已完结)
c语言·c++·算法·蓝桥杯·stl
chushiyunen2 小时前
python pygame实现贪食蛇
开发语言·python·pygame
身如柳絮随风扬3 小时前
Lambda、方法引用与Stream流完全指南
java·开发语言
高一要励志成为佬3 小时前
【数据结构】算法复杂度
数据结构
yaoyouzhong3 小时前
基于SpringBoot和PostGIS的云南与缅甸的千里边境线实战
java·spring boot·spring
jinanwuhuaguo3 小时前
人工智能的进化阶梯:AI、ANI、AGI与ASI的核心区别与深度剖析
开发语言·人工智能·agi·openclaw
姗姗的鱼尾喵3 小时前
Spring/SpringBoot 面试高频(含IOC/AOP/事务)
java·spring boot·面试
清空mega3 小时前
C++中关于数学的一些语法回忆(2)
开发语言·c++·算法