from sys import stdin
from math import sqrt
c = int(input()) #測資數
for i in range(c):
a = int(input())
b = int(input())
n = int(sqrt(a)) #下界開根號
total = 0 #累加值
if n**2 < a: #尋找範圍內最小的平方數
n += 1
num = n**2
while num <= b:
total += num
num += 2*n+1 # 利用性質: (n+1)^2 = n^2 + n + n+1
n += 1
print("Case %d: %d"%(i+1,total))
如果一個一個平方去比較會比較慢
這樣是我能想出來最快的方法了
跑出來: 12ms
不過看到有人跑出8ms
有辦法更快嗎? 還是因為當時系統的運算負載影響的速度而已?