下面的代码将测试用例的数量作为第一个输入值(a),然后将(a)次2之间的值1≤x≤y≤10^9作为第二个输入值。
代码的输出是可被代码中定义的值整除的值的数量、完全平方数以及满足两个条件的值的数量。代码对于较小的值可以顺利运行,但对于较大的值,运行时间会增加。我需要运行时间少于 5 秒。
import numpy as np
a = np.array(input(), dtype=int)
B=[]
for i in range(a):
b = np.array(input().split(), dtype=int)
B.append(b)
def is_square(n):
return (n**.5).is_integer()
for a, b in B:
print('{}'.format(sum(v % 12 == 0 for v in range(a, b+1))), '{}'.format(sum(is_square(v) for v in range(a, b+1))),'{}'.format(sum((v % 12 == 0) and is_square(v) for v in range(a, b+1))))
沧海一幻觉
相关分类