题目描述
星期天早上,小明开始做数学家庭作业。因为小明成绩很优异,觉得题目太简单了,思考出道难点的数学题去学校考考同学,他注意到:数学书的第10页和第11页在同一张纸上,但第11页和第12页不在同一张纸上。
哈哈,题目有了,请问数学书的第x页到第y页共有多少张纸呢?
例如:该书的第81页到第92页,共有7张纸。
输入
一行两个数x、y如题所述,用空格隔开。
输出
一个数,表示纸张数。
样例输入
81 92
样例输出
7
这题题目里说开头11和11在同一张纸,结尾又说11和12不在同一张纸,所以思维比较简单的我就考虑了
**单数开头,双数结尾;
单数开头,单数结尾
双数开头,单头结尾;
双数开头,双数结尾。**
#include<cstdio>
using namespace std;
int n,m,ans;
int main()
{
scanf("%d%d",&n,&m);
if(n%2==1){
if(m%2==0) ans=(m-n)/2+2; //单数开头,双数结尾
else ans=(m-n)/2+1; //单数开头,单数结尾
}
else {
if(m%2==0) ans=(m-n)/2+2-1; //双数开头,双数结尾
else ans=(m-n)/2+1; //双数开头,单数结尾
}
printf("%d",ans);
return 0;
}
但是,自己都感觉自己写的很混乱,所以转载一下一位大佬的写的很简单。
https://blog.csdn.net/zsbailong/article/details/90338813?