第五届蓝桥杯大赛个人赛省赛(软件类)真题-Java语言B组

2022/1/18 20:05:32

本文主要是介绍第五届蓝桥杯大赛个人赛省赛(软件类)真题-Java语言B组,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.武功秘籍

标题:武功秘籍

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

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

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

import java.util.Scanner;

public class Main{
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		int a=in.nextInt();         //起始页
		int b=in.nextInt();         //终止页
		if(a%2==1&&b%2==1) {      //奇数开始,奇数结束
			System.out.println((b-a)/2+1);
		}
		if(a%2==1&&b%2==0) {     //奇数开始,偶数结束
			System.out.println((b-a+1)/2+1);
		}
		if(a%2==0&&b%2==1) {    //偶数开始,奇数结束
			System.out.println((b-a+1)/2);
		}
		if(a%2==0&&b%2==0) {   //偶数开始,偶数结束
			System.out.println((b-a)/2+1);
		}
	}
}

答案:7

2.切面条

标题:切面条

    一根高筋拉面,中间切一刀,可以得到2根面条。

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

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

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

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

【解析】
对折0次,得到2根;
对折1次,得到2 * 2 - 1 = 3
对折2次,得到3 * 2 - 1 = 5  
对折3次,得到5 * 2 - 1 = 9
对折4次,得到9 * 2 - 1 = 17
对折5次,得到17 * 2 - 1 = 33
对折6次,得到33 * 2 - 1 = 65
对折7次,得到65 * 2 - 1 = 129
对折8次,得到129 * 2 - 1 = 257
对折9次,得到257 * 2 - 1 = 513
对折10次,得到513 * 2 - 1 = 1025

public class Main{
public static int F(int n)
{
	if(n==0)
		return 2;
	return 2*F(n-1)-1;
}
public static void main(String[] args) {
	System.out.println("对折10次得到"+Main.F(10)+"根面条");
	}
}

 答案:1025

3.猜字母

标题:猜字母

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

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

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

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

public class Main{
	public static void main(String[] args) {
		char[] a = new char[2014];
		int index = 0;
		for (int i = 0; i < 106; i++) {
			for (int j = 0; j < 19; j++) {
				a[index++] = (char) ('a' + j);
			}
		}
//		for (int i = 0; i < 2014; i++) {
//			System.out.print(a[i] + " ");
//		}
		int len = 2014;
		while (len != 1) {
			int k = 0;
			for (int i = 1; i < len; i += 2) {
				a[k++] = a[i];
			}
			len = k;
		}
		System.out.println(a[0]);
	}
}

 答案:q



这篇关于第五届蓝桥杯大赛个人赛省赛(软件类)真题-Java语言B组的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程