网站开发都需要什么工具,app开发 网站建设,社交电商十大平台有哪些,lnmpa wordpress/ 10^9考虑前九位#xff0c;% 10^9保留后9位
解题思路:
求获取结果的后九位数字#xff0c;需要对10^9取余#xff0c;因为202320232023这个数字的阶乘太大#xff0c;必须要减少计算量#xff0c;因为当一个整数乘以10^9后对其取余#xff0c;那么结果都为0。
所以我… / 10^9考虑前九位% 10^9保留后9位
解题思路:
求获取结果的后九位数字需要对10^9取余因为202320232023这个数字的阶乘太大必须要减少计算量因为当一个整数乘以10^9后对其取余那么结果都为0。
所以我们只需要找到从第几个数的阶乘开始乘以了10^9即可所以说从100开始实际上最少可以从40左右开始40及其之后的数字都可以但我们不可能一下子的精确的通过估算找到40这个数所以可以取大一些不过是时间长了点结果是没问题的后面的数的阶乘就可以直接省略了。就把问题简化为了从1的阶乘加到100的阶乘取其后9位数字。 import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {long sum 0, num;int mod (int) Math.pow(10, 9);for (int i 1; i 100; i) {num 1;for (int j 1; j i; j) {num * j;num % mod;}sum num;sum % mod;}System.out.println(sum);}
}