第五届蓝桥杯JavaB组省赛真题

博客内容涉及第五届蓝桥杯JavaB组省赛的多个问题,包括数学逻辑和编程挑战。例如,计算最少撕纸页数、面条数量、特定序列最后保留的字母、大衍数列规律、特定算式个数和排列问题等。每个问题都有详细的解析和答案,并附带部分解题代码。
摘要由CSDN通过智能技术生成

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

题目1、武功秘籍

小明到X山洞探险,捡到一本有破损的武功秘籍(2000多页!当然是伪造的)。他注意到:书的第10页和第11页在同一张纸上,但第11页和第12页不在同一张纸上。

小明只想练习该书的第81页到第92页的武功,又不想带着整本书。请问他至少要撕下多少张纸带走?

这是个整数,请通过浏览器提交该数字,不要填写任何多余的内容。

【解析】:带走的页数(80,81)(82,83)(84,85)(86,87)(88,89)(90,91)(92,93)

【答案】:7

题目2、切面条

一根高筋拉面,中间切一刀,可以得到2根面条。
如果先对折1次,中间切一刀,可以得到3根面条。

如果连续对折2次,中间切一刀,可以得到5根面条。

那么,连续对折10次,中间切一刀,会得到多少面条呢?

答案是个整数,请通过浏览器提交答案。不要填写任何多余的内容。

【解析】:可以拿张纸自己撕一下

n 0 1 2 3 4 …

sum 2 3 5 9 17 …

每次相加的都是2的整数次幂。

【答案】1025

【代码】:

import java.util.*;
 
public class Main {
	public static void main(String[] args) {
		Scanner cin = new Scanner(System.in);
		int n = cin.nextInt();
		int sum = 2;
		for (int i = 1; i <= n; i++)
			sum += Math.pow(2, i - 1);
		System.out.println(sum);
	}
}
题目3、猜字母

把abcd…s共19个字母组成的序列重复拼接106次,得到长度为2014的串。

接下来删除第1个字母(即开头的字母a),以及第3个,第5个等所有奇数位置的字母。

得到的新串再进行删除奇数位置字母的动作。如此下去,最后只剩下一个字母,请写出该字母。

答案是一个小写字母,请通过浏览器提交答案。不要填写任何多余的内容。

【解析】:先将2014个字符放到char类型的数组中,将序列中偶数位置的数放在数组前面,直到记录的长度为1,输出序列中第一个数即为答案。

【答案】:q

【代码】:

import java.util.*;
 
public class Main {
	public static void main(String[] args) {
		Scanner cin = new Scanner(System.in);
		String s = "abcdefghijklmnopqrs";
		String ss = "";
		for (int i = 1; i <= 106; i++) {
			ss += s;
		}
		char[] x = ss.toCharArray();
		int length=x.length;
		while (length != 1) {
			int k = 0;
			for (int i = 0; i < length; i++) {//i从0开始i为偶数时原序列为奇数
				if (i % 2 != 0)//原序列为偶数
					x[k++] &#
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值