A 阶乘求和
package THL_0411;
public class A_2023 {
public static void main(String[] args) {
long num = 1;
long mod = (long) 1e9;
long sum = 0;
for(int i=1;i<=100;i++) {
num = num * i % mod ;
sum = sum + num;
sum = sum % mod;
}
System.out.println(sum);
}
}
B 幸运数字
package THL_0411;
public class B_2023 {
public static void main(String[] args) {
int num = 1;
int a = 0;
while(a<2023) {
if(is(num,2)&&is(num,8)&&is(num,10)&&is(num,16)) {
a++;
}
if(a==2023) {
System.out.println(num);
}
num++;
}
}
private static boolean is(int num, int x) {
int i = 0;
int ans = num;
while(ans > 0){
i = i + ans % x;
ans = ans / x;
}
return num % i == 0;
}
}
C 数字分割
package THL_0411;
import java.util.Iterator;
import java.util.Scanner;
public class C_2023 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
while(T-- >0) {
int n = sc.nextInt();
int a = 0; // 记录奇数个数
int b = 0; // 记录偶数个数
for (int i = 0; i < n; i++) {
int num = sc.nextInt();
if(num%2==1) {
a++;
}else {
b++;
}
}
int mod = (int)1e9+7;
if(a%2==1) {
System.out.println(0);
}else {
long ans = 1;
for (int i = 0; i < a-1 ; i++) {
ans = ans * 2;
ans = ans % mod;
}
for (int i = 0; i < b; i++) {
ans = ans * 2;
ans = ans % mod;
}
System.out.println(ans);
}
}
sc.close();
}
}
D 矩阵总面积
package THL_0411;
import java.util.Arrays;
import java.util.Scanner;
public class D_2023 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long[][] f = new long[2][4]; // 依次是左下角坐标(x1,y1) 右上角坐标(x2,y2)
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 4; j++) {
f[i][j] = sc.nextLong();
}
}
Arrays.sort(f,(o1,o2)->Long.compare(o1[0], o2[0])); // 根据数组的第一位排序 保证f[0][0]<f[1][0]
long sum = 0;
sum = sum + (f[0][2]-f[0][0])*(f[0][3]-f[0][1]);
sum = sum + (f[1][2]-f[1][0])*(f[1][3]-f[1][1]);
if(f[1][0]>=f[0][2]) {
System.out.println(sum);
}else {
long res = 0;
long x1 = f[1][0];
long y1 = Math.max(f[0][1], f[1][1]);
long x2 = Math.min(f[0][2], f[1][2]);
long y2 = Math.min(f[0][3], f[1][3]);
res = (y2-y1)*(x2-x1);
System.out.println(sum-res);
}
}
}
(不会的还是不会 害 30分加后面的题骗分 应该有40+ )