第四届蓝桥杯JavaB组国(决)赛真题

本文分享了第四届蓝桥杯JavaB组决赛的编程题目,包括数字谜题、立方连续奇数和验证、九宫格移动最少步数问题及古城墙刷漆方案计数等。解题思路涉及数字推理、算法设计与实现。
摘要由CSDN通过智能技术生成

解题代码部分来自网友,如果有不对的地方,欢迎各位大佬评论

题目1、猜灯谜 题目描述

A 村的元宵节灯会上有一迷题:

请猜谜 * 请猜谜 = 请边赏灯边猜

小明想,一定是每个汉字代表一个数字,不同的汉字代表不同的数字。

请你用计算机按小明的思路算一下,然后提交“请猜谜”三个字所代表的整数即可。

请严格按照格式,通过浏览器提交答案。
注意:只提交一个3位的整数,不要写其它附加内容,比如:说明性的文字。

public class Main {
 
	public static void main(String[] args) {
		// 从317开始,平方才能达到六位数
		for (int a = 3; a <= 9; a++) {
			for (int b = 0; b <= 9; b++) {
				if (a != b)
					for (int c = 0; c <= 9; c++) {
						int num = a * 100 + b * 10 + c;
						if (num > 316) {
							int num_num = num * num;
							int shiwan = num_num / 100000;
							int wan = num_num % 100000 / 10000;
							int shi = num_num % 100 / 10;
							int ge = num_num % 10;
							// 这里只需做几个标志性的判断,若结果出现多个(并不是很多就不用添加判断条件),再选择挑选符合要求的
							if (a == shiwan && b == ge && wan == shi) {
								System.out.println("" + a + b + c);
								System.exit(0);
							}
						}
					}
			}
		}
	}
 
}
题目2、连续奇数和 题目描述

小明看到一本书上写着:任何数字的立方都可以表示为连续奇数的和。

比如:

2^3 = 8 = 3 + 5
3^3 = 27 = 7 + 9 + 11
4^3 = 64 = 1 + 3 + … + 15

虽然他没有想出怎么证明,但他想通过计算机进行验证。

请你帮助小明写出 111 的立方之连续奇数和表示法的起始数字。如果有多个表示方案,选择起始数字小的方案。

请严格按照要求,通过浏览器提交答案。
注意:只提交一个整数,不要写其它附加内容,比如:说明性的文字。

public class Main {
 
	public static void main(String[] args) {
		int n = 111 * 111 * 111;
		int sum = 0;
		// 直接从1开始,枚举小于等于n的奇数相加
		for (int i = 1; i <= n; i += 2) {
			sum = 0;
			for (int j = i; j <= n; j += 2) {
				sum += j;
				if (sum > n)
					break;
				if (sum == n) {
					System.out.println(i);
					System.exit(0);
				}
			}
		}
		
		// 根据等差数列,an=2*n-1,Sn=n*n,根据这个来枚举
		for (int i = 1; i < 3000; i++) {
			for (int j = i; j < 3000; j++) {
				if (j * j - (i - 1) * (i - 1) == n) {
					System.out.println(2 * i - 1);
					System.exit(0);
				}
			}
		}
	}
 
}
题目3、快速排序
题目描述
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值