题目描述
小Q得到一个神奇的数列: 1, 12, 123,…12345678910,1234567891011…。
并且小Q对于能否被3整除这个性质很感兴趣。
小Q现在希望你能帮他计算一下从数列的第l个到第r个(包含端点)有多少个数可以被3整除。
输入描述:
输入包括两个整数l和r(1 <= l <= r <= 1e9), 表示要求解的区间两端。
输出描述:
输出一个整数, 表示区间内能被3整除的数字个数。
示例1
输入
复制
2 5
输出
复制
3
说明
12, 123, 1234, 12345…
其中12, 123, 12345能被3整除。
解体思路:
能被3整除的数的特征:各个数位上数字之和能被3整除
能被整除的数的特征:https://blog.csdn.net/c_circle/article/details/78492772
能被3整除的数,各个数位上的数字和能被3整除,那么这个数能被3整除
推广:不是一个数字一个数字地拆分,把某个数视为字符串划分为多个任意长度的数字字符串,比如a=137928672拆成b=137,c=9286,d=72,那么有a%3=(b+c+d)%3
题中数组A第i个数A[i]是从1写到i的数,根据推广的结论把它拆成1,2,3,4,5,…,i,则有:
A[i]%3=(1+2+3+…+i)%3
而自然数序列1,