【美團】(數據開發面試)二分法求開方【Python】

【美團】(數據開發面試)二分法求開方【Python】

題目描述

給定一個整數,求其開方後的整數位

輸入描述

一個整數,如:5

輸出描述

開方後的整數位

輸入樣例1

5

輸出樣例1

2

輸入樣例2

10

輸出樣例2

3

二分法

#coding=utf-8
import sys
n = int(input())

def search (key):
    left = 0
    right = key
    while left <= right:
        mid = int((left+right)/2)
        # print(mid)
        if mid**2<key and (mid+1)**2>key:
            return mid
        elif mid**2<key:
            left = mid+1
        elif mid**2>key:
            right = mid-1
        else:
            return mid

print (search(n))

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章