阶乘求和0阶乘求和 - 蓝桥云课问题描述令 S1!2!3!⋯202320232023!S1!2!3!⋯202320232023!求 SS 的末尾 99 位数字。提示答案首位不为 00。答案提交这是一道结果填空的题你只需要算出结果后提交即可。本题的结果为一个整数在提交答案时只填写这个整数填写多余的内容将无法得分。代码import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { static int N1000010,idx,mod(int)1e9; static int a[]new int[20]; //qq public static void main(String []args) throws IOException{ //System.out.println(100); BufferedReader brnew BufferedReader(new InputStreamReader(System.in)); //int nInteger.parseInt(br.readLine()); long res0,t1; //10!有两个0 2*5 10 .. 该数不会太大 for (long i 2; i 50; i) { res(rest)%mod; tt*i%mod; } System.out.println(res); } }幸运数字问题描述0幸运数字 - 蓝桥云课哈沙德数是指在某个固定的进位制当中可以被各位数字之和整除的正整数。例如 126126 是十进制下的一个哈沙德数因为 (126)10mod(126)0(126)10​mod(126)0126126 也是八进制下的哈沙德数因为 (126)10(176)8(126)10​(176)8​ (126)10mod(176)0(126)10​mod(176)0同时 126126 也是 1616 进制下的哈沙德数因为 (126)10(7e)16(126)10​(7e)16​ (126)10mod(7e)0(126)10​mod(7e)0。小蓝认为如果一个整数在二进制、八进制、十进制、十六进制下均为哈沙德数那么这个数字就是幸运数字第 11 至第 1010 个幸运数字的十进制表示为1,2,4,6,8,40,48,72,120,126…1,2,4,6,8,40,48,72,120,126…。现在他想知道第 20232023 个幸运数字是多少你只需要告诉小蓝这个整数的十进制表示即可。答案提交这是一道结果填空的题你只需要算出结果后提交即可。本题的结果为一个整数在提交答案时只填写这个整数填写多余的内容将无法得分。import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { static int N1000010,idx,mod(int)1e9; static int a[]new int[20]; //qq public static void main(String []args) throws IOException{ //System.out.println(100); BufferedReader brnew BufferedReader(new InputStreamReader(System.in)); //int nInteger.parseInt(br.readLine()); int cou0,i1; while(cou2023){ if(ischeck(i))cou; i; } System.out.println(i-1); } static boolean ischeck(int n){ if(f(n,2)f(n,10)f(n,8)f(n,16))return true; return false; } static boolean f(int n,int k){ int nnn,sum0; while(n0){ sumn%k; n/k; } if(nn%sum0)return true; return false; } }数组分割0数组分割 - 蓝桥云课问题描述小蓝有一个长度为 NN 的数组 A[A0,A1,...,AN−1]A[A0​,A1​,...,AN−1​]。现在小蓝想要从 AA 对应的数组下标所构成的集合 I0,1,2,...,N−1I0,1,2,...,N−1 中找出一个子集 R1R1​ 那么 R1R1​ 在 II 中的补集为 R2R2​ 。记 S1∑r∈R1ArS1​∑r∈R1​​Ar​ S2∑r∈R2ArS2​∑r∈R2​​Ar​ 我们要求 S1S1​ 和 S2S2​ 均为偶数请问在这种情况下共有多少种不同的 R1R1​ 。当 R1R1​ 或 R2R2​ 为空集时我们将 S1S1​ 或 S2S2​ 视为 00。输入格式第一行一个整数 TT表示有 TT 组数据。接下来输入 TT 组数据每组数据包含两行第一行一个整数 NN表示数组 AA 的长度第二行输入 NN 个整数从左至右依次为 A0,A1,...,AN−1A0​,A1​,...,AN−1​ 相邻元素之间用空格分隔。输出格式对于每组数据输出一行包含一个整数表示答案答案可能会很大你需要将答案对 10000000071000000007 进行取模后输出。样例输入2 2 6 6 2 1 6样例输出4 0样例说明对于第一组数据答案为 44。注意大括号内的数字表示元素在数组中的下标。R10,R21R1​0,R2​1 此时 S1A06S1​A0​6 为偶数, S2A16S2​A1​6 为偶数。R11,R20R1​1,R2​0 此时 S1A16S1​A1​6 为偶数, S2A06S2​A0​6 为偶数。R10,1,R2R1​0,1,R2​ 此时 S1A0A112S1​A0​A1​12 为偶数, S20S2​0 为偶数。R1,R20,1R1​,R2​0,1 此时 S10S1​0 为偶数, S2A0A112S2​A0​A1​12 为偶数。对于第二组数据无论怎么选择都不满足条件所以答案为 00。评测用例规模与约定对于 2020% 的评测用例1≤N≤101≤N≤10。对于 4040% 的评测用例1≤N≤1021≤N≤102 。对于 100100% 的评测用例1≤T≤10,1≤N≤103,0≤Ai≤1091≤T≤10,1≤N≤103,0≤Ai​≤109代码1超时import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { static int N1010,idx,mod1000000007,res; static int a[]new int[N]; static int f[]new int[N]; //qq public static void main(String []args) throws IOException{ //System.out.println(100); BufferedReader brnew BufferedReader(new InputStreamReader(System.in)); int nInteger.parseInt(br.readLine()); for (int i 0; i n; i) { res0; int tInteger.parseInt(br.readLine()); String g[]br.readLine().split( ); for (int j 0; j t; j) { a[j]Integer.parseInt(g[j]); } dfs(t,0); System.out.println(res%mod); } } static void dfs(int n,int k){ if(kn){ long r10,r20; boolean isAlltrue; for (int i 0; i n; i) { if(f[i]1)r1a[i]; else if(f[i]-1)r2a[i]; else if(f[i]0)isAllfalse; } if(isAlltruer1%20r2%20){ res(res1)%mod; } return; } f[k]1; dfs(n, k1); f[k]-1; dfs(n, k1); } }代码2矩形总面积0矩形总面积 - 蓝桥云课问题描述平面上有个两个矩形 R1R1​ 和 R2R2​ 它们各边都与坐标轴平行。设 (x1,y1)(x1​,y1​) 和 (x2,y2)(x2​,y2​) 依次是 R1R1​ 的左下角和右上角坐标(x3,y3)(x3​,y3​) 和 (x4,y4)(x4​,y4​) 依次是 R2R2​ 的左下角和右上角坐标请你计算 R1R1​ 和 R2R2​ 的总面积是多少注意如果 R1R1​ 和 R2R2​ 有重叠区域重叠区域的面积只计算一次。输入格式输入只有一行包含 88 个整数依次是x1x1​ y1y1​ x2x2​ y2y2​ x3x3​ y3y3​ x4x4​ 和 y4y4​ 。输出格式一个整数代表答案。样例输入2 1 7 4 5 3 8 6样例输出22样例说明样例中的两个矩形如图所示评测用例规模与约定对于 2020% 的数据R1R1​ 和 R2R2​ 没有重叠区域。对于 20​20​% 的数据其中一个矩形完全在另一个矩形内部。对于 5050% 的数据所有坐标的取值范围是 [0,103][0,103]。对于 100100% 的数据所有坐标的取值范围是 [0,105][0,105]import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { //qq public static void main(String []args) throws IOException{ BufferedReader brnew BufferedReader(new InputStreamReader(System.in)); //int nInteger.parseInt(br.readLine()); String g[]br.readLine().split( ); int x1Integer.parseInt(g[0]),y1Integer.parseInt(g[1]); int x2Integer.parseInt(g[2]),y2Integer.parseInt(g[3]); int x3Integer.parseInt(g[4]),y3Integer.parseInt(g[5]); int x4Integer.parseInt(g[6]),y4Integer.parseInt(g[7]); //以下两个在算的时候 一定要long long a1(long)(x1-x2)*(y1-y2),a2(long)(x3-x4)*(y3-y4); long rep(long)(Math.max(0, Math.min(x2, x4)-Math.max(x1, x3)))*(Math.max(0, Math.min(y2, y4)-Math.max(y1, y3))); //如果没有重叠部分 rep 就会成为负值 所以要加入max(0,Math)相关内容 System.out.println(a1a2-rep); } }