求助uu们一道笔试真题
给你两个输入,6位数:val1和val2,例如100000 110000,请举出所有值(包括val1和val2)中,首先转换为ABCDEF的格式,分别表示十万位到个位,求出满足AB+CD=EF的个数,例如101121就是满足条件的值。我用的是Java实现。
如果输入为100000和110000,为什么答案是796(如果我没记错样例答案的话,总之远远大于90)呢?不应该是90吗?
大模型题解:
import java.util.*;
public class Main{
public static void main(String[] args) {
int val1 = 100000;
int val2 = 110000;
int count = countNumbers(val1, val2);
System.out.println("满足 AB + CD = EF 的数字个数: " + count);
}
public static int countNumbers(int val1, int val2) {
int count = 0;
for (int i = val1; i <= val2; i++) {
if (isValid(i)) {
count++;
}
}
return count;
}
public static boolean isValid(int num) {
String numStr = String.valueOf(num);
int ab = Integer.parseInt(numStr.substring(0, 2));
int cd = Integer.parseInt(numStr.substring(2, 4));
int ef = Integer.parseInt(numStr.substring(4, 6));
return ab + cd == ef; // 判断是否满足条件
}
}
查看11道真题和解析