Fair and Square,fairandsquare,时间:1e14(18s左


时间:1e14(18s左右) 1e7 (0.03s左右)

from math import sqrt, ceilfrom time import timedef isPalindrome(value):    for i in range(int(len(value) / 2)):        if value[i] != value[-i-1]:            return False    return Truedef calc(min, max):    for x in range(int(ceil(sqrt(min))), int(sqrt(max))):        if x % 10 > 0 and isPalindrome(str(x)):            y = x * x            if y % 10 > 0 and isPalindrome(str(y)):                yield {'Y':y, 'X':x}if __name__ == '__main__':    begin = time()    for i in calc(1, 1e14):        print(i)    end = time()    print(end - begin)#该片段来自于http://byrx.net

评论关闭