求助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; // 判断是否满足条件 } }