Python例項之用Python求完全平方數

daqianmen發表於2021-09-11

Python例項之用Python求完全平方數

週末小編幫鄰居家的小朋友輔導功課,遇到了完全平方數,一時想不起來的小編立馬開始百度,原來完全平方數是某個整數的平方的形式。輔導小朋友時,小編就在想,作為正在學習Python的大朋友們有沒有做到關於求完全平方數的練習呢?下面我們來做下練習吧。

例題:一個整數,它加上100後是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?

分析:因為168對於指數爆炸來說實在太小了,所以可以直接省略數學分析,用最樸素的方法來獲取上限:

n=0
while (n+1)**2-n*n<=168:
    n+=1

print(n+1)
----------

85

思路是:最壞的結果是n的平方與(n+1)的平方剛好差168,由於是平方的關係,不可能存在比這更大的間隙。至於判斷是否是完全平方數,最簡單的方法是:平方根的值小數為0即可。
結合起來:

n=0
while (n+1)**2-n*n<=168:
    n+=1

for i in range((n+1)**2):
    if i**0.5==int(i**0.5) and (i+168)**0.5==int((i+168)**0.5):
        print(i-100)

例題做完了,你會了嗎?若不是很熟悉,改變數值多多練習,你會掌握這個知識的。更多Python學習推薦:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1727/viewspace-2832101/,如需轉載,請註明出處,否則將追究法律責任。

相關文章