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