題目
一個整數,它加上100后是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?
程序分析
因為168對于指數爆炸來說實在太小了,所以可以直接省略數學分析,用最樸素的方法來獲取上限:
n=0
while (n+1)**2-n*n=168:
n+=1
print(n+1)
補充:用Python實現"有效的完全平方數"的一種方法
給一個正整數num,寫一個函數判斷它是否是一個完全的平方數,是則返回True,不是返回False
注意:不要使用任何內嵌的函數,如sqrt
Example 1
Input: 16
Output: true
Example 2:
Input: 14
Output: false
1:二分法
def isPerfectSquare(self, num):
"""
:type num: int
:rtype: bool
"""
low = 1
high = num
while low high:
mid = (low + high) // 2
if mid * mid == num:
return True
elif mid * mid num:
low = mid + 1
else:
high = mid - 1
return low * low == num
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- Python 實現把列表中的偶數變成他的平方
- Python用二分法求平方根的案例
- Python 平方列表中每個數字的多種操作
- python 計算平均平方誤差(MSE)的實例
- python判斷完全平方數的方法
- Python編程實現二分法和牛頓迭代法求平方根代碼
- Python編程之求數字平方的實例