你好呀,我是灰小猿,一个超会写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); } }
扫描二维码关注公众号,回复:
12789643 查看本文章
输出样例: