您的位置:首页 > 其它

蓝桥杯Problem J: 武功秘籍

2017-04-04 20:29 375 查看
问题及代码:


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;
}
这段代码相对比较完善一点。


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


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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: