然后第二题暴力过了
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int left = sc.nextInt();
int right = sc.nextInt();
int time = 0;
int[] ints = new int[10]; //避免频繁创建数组
for (int i = left; i <= right; i++) {
if (isOk(ints, i)) {
time++;
}
}
System.out.println(time);
}
public static boolean isOk(int[] ints, int num) {
int index = 0;
while (num != 0) {
ints[index++] = num % 10;
num /= 10;
}
return isSumSame(0, 0, ints, 0, index);
}
private static boolean isSumSame(int sum1, int sum2, int[] ints, int i,
int length) {
if (i == length) {
return sum1 == sum2;
}
return isSumSame(sum1, sum2 + ints[i], ints, i + 1, length)
|| isSumSame(sum1 + ints[i], sum2, ints, i + 1, length);
}
}