Description
If we sum up every digit of a number and the result can be exactly divided by 10, we say this number is a good number.
You are required to count the number of good numbers in the range from A to B, inclusive.
You are required to count the number of good numbers in the range from A to B, inclusive.
Input
The first line has a number T (T <= 10000) , indicating the number of test cases.
Each test case comes with a single line with two numbers A and B (0 <= A <= B <= 10 18).
Each test case comes with a single line with two numbers A and B (0 <= A <= B <= 10 18).
Output
For test case X, output "Case #X: " first, then output the number of good numbers in a single line.
Sample Input
2 1 10 1 20
Sample Output
Case #1: 0 Case #2: 1
Hint
The answer maybe very large, we recommend you to use long long instead of int.
AC CODE:
#include <iostream>
#include <cstdio>
using namespace std;
long long cu(long long n)
{
if(n<0) return 0;
if(n<=10) return 1;
int s,more=0;
long long i=n/10*10;
long long m = n;
for(; i<=n; i++)
{
m=i;
s=0;
while(m)
{
s+=m%10;
m/=10;
}
if(s%10==0)more++;
}
return n/10+more;
}
int main()
{
long long a,b;
int cas=1;
int T;
cin>>T;
while(T--)
{
cin>>a>>b;
printf("Case #%d: ",cas++);
cout<<cu(b)-cu(a-1)<<endl;
}
return 0;
}