1. 程式人生 > >每日一練 no.3

每日一練 no.3

問題來源玩蛇網http://www.iplaypy.com/python-100/7097.html

問題:

一個整數,它加上100和加上268後都是一個完全平方數

解答:

一個數整數分別加上100和268,開方,判斷結果是否為整數: 由於268-100=168,兩個平方數只差最小為1,假設為1 由(168-1)/2=83.5, 可知平方數不會大於84, 84**2 = 7056,可知i不會大於7056

import math
for i in range(7056):
#轉化為整型值
    x = math.sqrt(i + 100)
    y = math.sqrt(i + 268)
    if all([x.is_integer(
), y.is_integer()]): print(i) #結果 21 261 1581