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.
#include <iostream>
using namespace std;
typedef long long ll;
int is(ll n)
{
ll m=n,i;
for(i=n/10*10;i<=m;i++)
{
ll sum=0,t=i;
while(t!=0)
{
sum+=t%10;
t/=10;
}
if(sum%10==0)
return 1;
}
return 0;
}
ll get(ll n)
{
if(is(n)==1)
return n/10+1;
return n/10;
}
int main()
{
int t,cnt=1;
cin>>t;
while(t--)
{
ll a,b;
cin>>a>>b;
cout<<"Case #"<<cnt++<<": "<<get(b)-get(a-1)<<endl;
}
return 0;
}