蓝桥杯决赛Java语言C组真题解析:平方末尾与七星填数
版权申诉
75 浏览量
更新于2024-08-03
收藏 639KB PDF 举报
"第七届蓝桥杯软件类决赛部分真题(Java语言C组)包括了平方末尾问题和七星填数问题,是信息技术竞赛和计算机类学科竞赛的参考资料。"
在第七届蓝桥杯软件类决赛中,Java语言C组的题目涉及到两个主要的知识点:平方末尾和七星填数。
1. 平方末尾
这个问题考察的是对平方数性质的理解。平方数是指可以表示为某个整数乘以其自身的数字,例如25(5的平方)和64(8的平方)。题目指出,平方数的末尾数字有特定的规律,只能是0、1、4、5、6或9。任务是编写程序来确定2位以上的数字构成的平方数的最后两位有多少种可能。这里使用Java编程,通过遍历从10到1000000的长整数,计算它们的平方,并将结果存储在一个HashSet中,以去除重复项。最后输出HashSet的大小即为答案。代码中的关键部分是:
```java
for(long i=10;i<=1000000;i++){
String a=""+(i*i/100);
set.add(a);
}
System.out.println(set.size());
```
这段代码遍历指定范围,计算每个数的平方后去掉最后两位,然后将剩下的两位添加到集合中。
2. 七星填数
这是一个组合优化问题,类似于数独,需要在七角星的14个节点上填入1到14的数字,每个数字仅出现一次,且每条直线上的四个数字之和必须相等。已知三个数字,需要求解其余的数字。解决方法通常采用深度优先搜索(DFS)策略,通过递归地尝试所有可能的数字组合。代码中定义了一个swap方法用于交换数组中的元素,以及一个dfs方法进行深度优先搜索。在dfs方法中,当搜索到数组长度时,检查当前数组是否满足条件(每条线上的数字和相等),若满足则更新答案。关键代码片段如下:
```java
public void dfs(int[] A, int step){
// ... (DFS search logic)
}
```
注意题目要求只提交填充后的绿色节点的4个数字,以空格分隔。
这两个问题都要求参赛者具备扎实的算法基础,理解并能应用数学规律,以及熟练运用Java编程解决实际问题的能力。对于准备参加类似竞赛的学生来说,这类题目是很好的训练材料,有助于提升问题解决和编程技能。
493 浏览量
点击了解资源详情
点击了解资源详情
2021-10-01 上传
点击了解资源详情
1419 浏览量
2024-03-26 上传
2024-03-26 上传
2024-03-26 上传
阿拉伯梳子
- 粉丝: 2703
- 资源: 5734
最新资源
- 09年计算机考研大纲
- Preview of Web Services Reliable Messaging in SAP Netweaver Process Integration 7.1.pdf
- Implementing a Distributed Two-Phase-Commit Scenario with Web Services and SAP NetWeaver PI 7.1.pdf
- NiosII step by step (1-10)
- Mantis安装经验总结
- 英语词根词缀记忆大全[2].doc
- 赛灵思DSPFPGAWorkbook_print
- RFC 3261 SIP spec.
- 无线网络规划(白皮书)
- oracle函数大全
- 大学英语精读第二册课后翻译答案
- myEclipse教程
- MIT的人工智能实验室是如何做研究的
- 关于Linux系统下的软件安装
- c++标准程序库 简体中文
- Web+Service学习.doc