蓝桥杯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;
    }
}
相关推荐
qq_5895681012 小时前
java学习笔记,包括idea快捷键
java·ide·intellij-idea
淘矿人13 小时前
从0到1:用Claude启动你的第一个项目
开发语言·人工智能·git·python·github·php·pygame
cany100013 小时前
C++ -- 模板的声明和定义
开发语言·c++
澈20713 小时前
深耕进阶 Day1:C 与 C++ 核心差异 + C++ 入门基石
c语言·开发语言·c++
小怪吴吴13 小时前
idea 开发Android
android·java·intellij-idea
嘻嘻哈哈樱桃13 小时前
牛客经典101题题解集--动态规划
java·数据结构·python·算法·职场和发展·动态规划
Felven13 小时前
C. Need More Arrays
c语言·开发语言
一次旅行13 小时前
IDEA安装CC GUI新手指南
java·ide·intellij-idea
love530love13 小时前
Podman Machine 虚拟硬盘迁移实战二:用 Junction 把 vhdx 从 C 盘搬到其他盘
c语言·开发语言·人工智能·windows·wsl·podman·podman machine
超梦dasgg13 小时前
Spring AI 智能航空助手项目实战
java·人工智能·后端·spring·ai编程