5/4 每日一題 平方根
Given a non-negative integer x, return the square root of x rounded down to the nearest integer. The returned integer should be non-negative as well.
You must not use any built-in exponent function or operator.
- For example, do not use
pow(x, 0.5)in c++ orx ** 0.5in python.
def bin_2(x):
'找出x的平方根,無條件捨去'
if x <2:
return x
left=1
right=x
while left < right:
mid=(left+right)//2
if mid*mid <= x <(mid+1)*(mid+1):
return f'平方根={mid}'
elif mid*mid<x:
left=mid+1
else:
right=mid
print(bin_2(10))
print(bin_2(9))
print(bin_2(8))
print(bin_2(7))
print(bin_2(6))
print(bin_2(5))
print(bin_2(4))
print(bin_2(3))
print(bin_2(2))
print(bin_2(1))
print(bin_2(0))
-------------------------------------
終端機
平方根=3
平方根=3
平方根=2
平方根=2
平方根=2
平方根=2
平方根=2
平方根=1
平方根=1
1
0
標籤: leetcode

0 個意見:
張貼留言
訂閱 張貼留言 [Atom]
<< 首頁