公司网站开发制作公司,网站建设销售是做什么的,做旅游宣传网站的流程,网站建设网络推广目录
A、阶乘求和 - BigInteger
B、幸运数字 - 字符串 进制转换 暴力大法
C、数组分割 - A、阶乘求和 - BigInteger 思路#xff1a; 当时比赛时#xff0c;拿计算器算的#xff0c;然后辛辛苦苦也没对 看到这个数肯定很大#xff0c;而且只求后9位#xff0c;阶乘越…目录
A、阶乘求和 - BigInteger
B、幸运数字 - 字符串 进制转换 暴力大法
C、数组分割 - A、阶乘求和 - BigInteger 思路 当时比赛时拿计算器算的然后辛辛苦苦也没对 看到这个数肯定很大而且只求后9位阶乘越大后面0个数会逐渐增长 首先设置BigInteger测试发现从40开始再往后的数后9位均为0所以我们只用计算1……39然后取余就ok 答案是420940313 import java.math.BigInteger;
import java.util.*;public class Main {public static void main(String[] args) {Scanner scnew Scanner(System.in);long res0;for(int i1;i39;i)res(resf(i))%1000000000;System.out.println(res);}public static long f(int x){BigInteger resnew BigInteger(1);for(int i1;ix;i) {resres.multiply(BigInteger.valueOf(i));resres.mod(BigInteger.valueOf(1000000000));}return res.longValue();}
}B、幸运数字 - 字符串 进制转换 暴力大法 思路 可以偷懒用Java的进制转换api 注意对16进制转换时a对应10b对应11…… 答案是215040 import java.util.*;public class Main {public static void main(String[] args) {Scanner scnew Scanner(System.in);int cnt0;int i1;while(true){if(ck(i,Integer.toBinaryString(i))ck(i,Integer.toOctalString(i))ck(i,Integer.toHexString(i))ck(i,String.valueOf(i)))cnt;if(cnt2023) {System.out.println(!!i);break;}i;}}public static boolean ck(int x,String s){int sum0;for (char c:s.toCharArray())if(cacf) sumc-87;else sumc-0;if(x%sum0) return true;return false;}
}C、数组分割 - 思路