#15263: python怎樣可以跑更快?


wonberdan (薛丁格其實討厭貓)

學校 : 國立臺灣師範大學附屬高級中學
編號 : 62553
來源 : [101.3.119.15]
最後登入時間 :
2023-03-05 22:15:58
a059. 完全平方和 | From: [182.234.47.114] | 發表日期 : 2018-09-23 12:33

 

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

有辦法更快嗎?   還是因為當時系統的運算負載影響的速度而已?

 
ZeroJudge Forum