【每日蓝桥】19、一四年省赛Java组真题“武功秘籍”

你好呀,我是灰小猿,一个超会写bug的程序猿!

欢迎大家关注我的专栏“每日蓝桥”,该专栏的主要作用是和大家分享近几年蓝桥杯省赛及决赛等真题,解析其中存在的算法思想、数据结构等内容,帮助大家学习到更多的知识和技术!

标题:武功秘籍

小明到X山洞探险,捡到一本有破损的武功秘籍,(2000多页,当然是伪造的)。

他注意到:书的第10页和第11页在同一张纸上,但第11页和第12页不在同一张纸上,

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

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

解题思路:

本题是一个填空题,重点是要对题干的理解,

从题中我们可以得到,假如我们把每一整页分成左半页和右半页,

那么从第10页和第11页在同一张纸上可以推断出,书的左半页是偶数页,右半页是奇数页。

那么我们只需要判断从第81页开始,有多少个相邻的偶数奇数是在这个范围内的,同时要考虑第一页(81页)和最后一页(92页)是否单独占一页。

最后得出答案是7页。

答案源码:

package 一四年省赛真题;

public class Year2014_Bt1 {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);	
		int x = scanner.nextInt();		//需要的第一页
		int y = scanner.nextInt();		//需要的最后一页
		int ans = 0;
		//判断起始页是不是奇数页,是的话页数加1
		if (x%2!=0) {
			ans++;
		}
		//判断终止页是不是偶数页,是的话页数加1
		if (y%2==0) {
			ans++;
		}
		
		for (int i = x; i <=y ; i+=1) {
			//如果该页是偶数页,且下一页是在需要的范围内,则页数加1
			if (i%2==0&&(i+1<=y)) {
				ans++;
			}
		}
		System.out.println(ans);

	}

}

输出样例:

其中有不足或者改进的地方,还希望小伙伴留言提出,一起学习!

感兴趣的小伙伴可以关注专栏!

灰小猿陪你一起进步!

猜你喜欢

转载自blog.csdn.net/weixin_44985880/article/details/113484379