| Time Limit: 2000MS | Memory Limit: 32768KB | 64bit IO Format: %lld & %llu |
[Submit] [Go Back] [Status]
Description
An integer is divisible by 3 if the sum of its digits is also divisible by 3. For example, 3702 is divisible by 3 and 12 (3+7+0+2) is also divisible by 3. This property also holds for the integer 9.
In this problem, we will investigate this property for other integers.
Input
Input starts with an integer T (≤ 200), denoting the number of test cases.
Each case contains three positive integers A, B and K (1 ≤ A ≤ B < 231 and 0 < K < 10000).
Output
For each case, output the case number and the number of integers in the range [A, B] which are divisible by K and the sum of its digits is also divisible byK.
Sample Input
3
1 20 1
1 20 2
1 1000 4
Sample Output
Case 1: 20
Case 2: 5
Case 3: 64
Source
Problem Setter: Sohel Hafiz Special Thanks: Jane Alam Jan (Solution, Dataset)
求A到B之间满足可以整除K且各位加起来整除K的数的个数。
由于最大才2^31,当K>90时,答案显然为0,然后就是简单数位dp
/* *********************************************** Author :xianxingwuguan Created Time :2014-2-7 16:17:23 File Name :1.cpp ************************************************ */ #pragma comment(linker, "/STACK:102400000,102400000") #include#include #include #include #include #include #include #include #include #include #include #include #include #include