1 9 1 10
1 1
/*题解:
有点略坑的题,考虑完所有的情况再Wrong了一次的情况下A了。
注意点:
输入数据为int范围内的整数,所以可以是负数,例如-18、-19
输入数据不一定L<=R,所以先判断大小并交换位置。(L<=R则不用交换)
0也可以被9整除
【0,0】,【9,9】,【-9,-9】能被整除个数均为1
提供几组数据:
【0,19】 3
【9,18】 2
【-18,-9】 2
【-20,9】 4
【-18,-7】 2
*/
#include<cstdio>
#include<cmath>
#include<stdlib.h>
int main(){
int l,r,t;
while(scanf("%d %d",&l,&r)!=EOF)
{
if(l>r)//不交换会Output Limit Exceeded
{
t=l;
l=r;
r=t;
}
if(l==r)//情况一、l==r
{
if(l%9==0)
{
printf("1\n");
}
else printf("0\n");
}
else
{
if(l>0)//l>0,r>0
{
printf("%d\n",r/9-(l-1)/9);
}
else if(l==0)//l==0,r>0
{
printf("%d\n",r/9+1);
}
else if(l<0)
{
if(r==0)//l<0,r==0
{
printf("%d\n",abs(l/9)+1);
}
else if(r<0)//l<0,r<0
{
printf("%d\n",abs(l/9)-(abs(r)-1)/9);
}
else if(r>0)//l<0,r>0
{
printf("%d\n",r/9+abs(l/9)+1);
}
}
}
}
return 0;
}
原文:http://blog.csdn.net/u013806814/article/details/42269481