2023年5月4日 星期四

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++ or x ** 0.5 in 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

標籤:

0 個意見:

張貼留言

訂閱 張貼留言 [Atom]

<< 首頁