前言
2025 年第 16 届蓝桥杯软件类 Java 组省赛已落下帷幕,不同赛区因特殊情况部分使用了备用卷,但整体题型延续了 "基础为主、梯度区分" 的特点。前两道填空题侧重规律分析,中间题型聚焦基础算法实现,后两道难题则考验数据结构与逻辑优化能力。
本文整理了 Java 组全题的详细题解,包含问题描述、核心思路、完整代码及易错点提示,所有代码均严格遵循比赛规范(类名统一为 Main),适合备赛同学复盘学习。文中答案与思路为个人解题总结,仅供参考。
试题 A:密密摆放(5 分・结果填空)
问题描述
小蓝有一个内部长宽高分别为 200、250、240 毫米的大箱子,要用它存放同样大小的小盒子(外部长宽高 30、40、50 毫米)。小盒子允许从各个方向旋转,请问最多能放多少个小盒子?
解题思路
本题核心是判断小盒子在大箱子中的三维摆放适配性,无需复杂算法,关键在于发现尺寸间的倍数关系:
- 小盒子可旋转,其有效尺寸组合为 30×40×50(任意维度可互换);
- 大箱子尺寸 200×250×240 恰好分别是小盒子 50、50、40 的 4 倍、5 倍、6 倍?不对,重新看:大箱子 200 是 40 的 5 倍,250 是 50 的 5 倍,240 是 30 的 8 倍;
- 组合验证:5×5×8=200 个,且体积完全匹配(200×250×240 = 200×30×40×50),无空间浪费。
答案总结
200
试题 B:脉冲强度之和(5 分・结果填空)
问题描述
脉冲强度 p 需满足三个条件:
- 由连续 10 个正整数之和组成(存在 k 使 p=k+(k+1)+...+(k+9));
- 各个数位上的数字都相同(如 111、2222);
- 数值不超过 20255202。求所有符合条件的脉冲强度之和。
解题思路
- 条件转化:连续 10 个整数和为等差数列求和,p=10k+45,因此 p-45 必为 10 的倍数,且 p 的个位数字一定是 5;
- 范围筛选:符合条件的 p 只能是 5、55、555、...、55555555(个位为 5 且所有数位相同),且不超过 20255202;
- 验证计算:遍历所有候选数,验证是否满足 p-45 能被 10 整除,累加符合条件的数值。
代码实现
public class Main {
public static void main(String[] args) {
long ans = 0L;
// 生成所有个位为 5 且数位相同的数,上限 20255202
long p = 5;
while (p <= 20255202) {
if ((p - ) % == ) {
ans += p;
}
p = p * + ;
}
System.out.println(ans);
}
}


