2025 第十六届蓝桥杯Java B组
问题描述翻译:
场景: 小兰被困在一座高塔里醒来。
塔楼: 塔楼有 2025 层。
雕刻: 每层 n (从 1 到 2025) 上都刻有 n3 的值。1 楼有 13 楼有 23 楼... 2025 楼有 20253。
逃逸条件: 要逃逸,小兰需要找到这些立方值 (13 至 20253) 的计数单位数字是 3。
目标: 帮助小兰找到这个数字
public class Main{public static void main(String[] args) {int shangXian = 2025; // 塔的最高层数int jiShu = 0; // 计数器,记录个位是3的立方数的个数// 遍历从 1 到 2025 的所有层数 nfor (int n = 1; n <= shangXian; n++) {// 检查 n 的个位数字是否是 7// 因为只有当 n 的个位是 7 时,n^3 的个位才可能是 3if (n % 10 == 7) {jiShu++; // 如果 n 的个位是 7,计数器加 1// (可选) 验证 n^3 的个位确实是 3// long liFang = (long)n * n * n; // 使用 long 防止 n^3 溢出// if (liFang % 10 == 3) {// // System.out.println(n + " 的立方 " + liFang + " 的个位是 3");// } else {// // System.out.println("计算错误:" + n + " 的立方个位不是 3");// }}}// 输出最终结果System.out.println("小蓝需要找出的立方数中个位数字为 3 的数的个数是: " + jiShu);}
}
运行 Java 代码,输出结果为:
小蓝需要找出的立方数中个位数字为 3 的数的个数是: 202
设 a = 20250412 和 b = 20240413。
根据题目条件,我们可以写出以下两个同余关系:
-
N + a 能被 b 整除,意味着 N + a ≡ 0 (mod b),或者说 N ≡ -a (mod b)。
-
N + b 能被 a 整除,意味着 N + b ≡ 0 (mod a),或者说 N ≡ -b (mod a)。
我们现在需要解这个关于 N 的线性同余方程组:
N ≡ -20250412 (mod 20240413)
N ≡ -20240413 (mod 20250412)
满足条件的最小正整数 N 是 4100000008480731。