您的位置:首页 > 编程语言 > Go语言

hdoj4722Good Numbers【找规律】

2015-10-31 23:24 330 查看
G - Good Numbers
Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d
& %I64u
Submit Status Practice HDU
4722

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.
 

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).
 

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.


题意:求a到b之间一个数各位数相加能被10整除的数的个数

#include<cstdio>
#include<cstdlib>
#include<cstring>
using namespace std;
long long cal(long long n){
if(n<0)return 0;
if(n<=10)return 1;
long long temp=n/10*10;
for(long long i=temp;i<=n;++i){
long long m=i;int sum=0;
while(m){
sum+=m%10;
m/=10;
}
if(sum%10==0){
return n/10+1;
}
}
return n/10;
}
int main()
{
int t,k=1;
long long n,a,b;
scanf("%d",&t);
while(t--){
scanf("%lld%lld",&a,&b);
printf("Case #%d: %lld\n",k++,cal(b)-cal(a-1));
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hdoj4722Good Numbers