蓝桥杯Problem J: 武功秘籍

来源:互联网 发布:淘宝怎么刷层级 编辑:程序博客网 时间:2024/05/17 04:37
问题及代码:

Problem J: 武功秘籍

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 2394  Solved: 902
[Submit][Status][Web Board]

Description

小明到X山洞探险,捡到一本有破损的武功秘籍(2000多页!当然是伪造的)。 
他注意到:书的第10页和第11页在同一张纸上,但第11页和第12页不在同一张纸上 。
小明只想练习该书的第a页到第b页的武功,又不想带着整本书。请问他至少要撕下多少张纸带走? 
 

Input

有多组测试实例,输入小明想要练习的起始页a和末尾页b。(a<b)

Output

输出小明最少要带走的纸张,每行对应一个输出结果。

Sample Input

81 92

Sample Output

7

/*烟台大学计算机学院作者:景怡乐完成时间:2017年4月2日*/#include <stdio.h>int main(){ int a[20],b[20],c[20]; int i; while(scanf("%d%d",&a[i],&b[i])!=EOF)//多组数据输入{c[i]=b[i]/2-a[i]/2+1; printf("%d\n",c[i]);}return 0;}
由题目要求可以得出第1页在一张纸上,此后都是每两张在同一页上。

这段程序是当时写的,虽然结果对了,交OJ也没啥问题,可我现在自己也解释不清楚。

#include <stdio.h>int main(){int m,n,a;while(scanf("%d%d",&n,&m)!=EOF){    a=m-n+2;    a=a/2;//有两页在同一张纸上    if(n%2!=0&&m%2==0)//当起始页是奇数,而终止页是偶数时,就相当于多撕下一页。        a++;printf("%d\n",a);}return 0;}
这段代码相对比较完善一点。

当起始页和终止页都是偶数时,直接得到需要撕下的页数。

当起始页时偶数,终止页是奇数时,除二得到整型数。


0 0
原创粉丝点击