首页 > 试题广场 >

被3整除

[编程题]被3整除
  • 热度指数:133 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

小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整除。
import sys
data = sys.stdin.readline().strip().split()
 
count = 0
num = 0
length = len(data[0])

for i in range(int(data[0]),int(data[1])+1):
    num = num * (10 ** length) + i
    
    if num %3 == 0:
        count += 1
print(count)
发表于 2020-06-20 11:04:39 回复(0)
import sys
data = sys.stdin.readline().strip().split()
 
count = 0
num = 0
length = len(data[0])

for i in range(int(data[0]),int(data[1])+1):
    num = num * (10 ** length) + i
    
    if num %3 == 0:
        count += 1
print(count)
显示超时,2s 的运行   还有啥办法

发表于 2018-06-14 18:55:03 回复(0)