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