Description
There is sequence 1, 12, 123, 1234, ..., 12345678910, ... . Now you are given two integers A and B, you have to find the number of integers fromAth number to Bth (inclusive) number, which are divisible by 3.
For example, let A = 3. B = 5. So, the numbers in the sequence are, 123, 1234, 12345. And 123, 12345 are divisible by 3. So, the result is 2.
Input
Input starts with an integer T (≤ 10000), denoting the number of test cases.
Each case contains two integers A and B (1 ≤ A ≤ B < 231) in a line.
Output
For each case, print the case number and the total numbers in the sequence between Ath and Bth which are divisible by 3.
Sample Input
2
3 5
10 110
Sample Output
Case 1: 2
Case 2: 67
题意:计算第A个数到第B个数之间有多少个数是3的倍数
题解:判断一个数是否是3的倍数,即判断将各位数加起来之和是否是3的倍数,直接一个一个判断会超时
那么 如何算出第A个数之前有多少个数是3的倍数?可以找到一个规律:
序号 数值 各位数和 是否是3的倍数
1 1 1 0
2 12 3 1
3 123 6 1
4 1234 10 0
5 12345 15 1
6 123456 21 1
........
可以发现,每三个一组,第一个不是3的倍数,后两个是3的倍数,那么就容易计算个数了。。