LeetCodeの問題解決--69。(C言語)のX平方根

オリジナルタイトルリンク:

https://leetcode-cn.com/problems/sqrtx/

トピック:

int型のsqrt(int型x)関数を実現します。

計算し、xが負でない整数であり、xの平方根を返します。
戻り型が整数であるため、結果の整数部は、小数部を切り捨て保持します。

例1:

入力:4 
出力:2

例2:

入力:8 
出力:2 
説明:8平方根である2.82842 ...は、
     戻り値の型が整数であることから、小数部を切り捨てて表示しております。

アイデア:

バイナリ検索を使用してください。

これ以上のそれの半分以上の最大値よりも、独自の広場の数、そして確かにないよりので、条件は半ば²のためのx≤書き込むことができると判断されます。書かれた範囲の場合があるので、決意条件は、中間≤X /中間のように書くことができます。

コード:

INT mySqrt(INT X){
     int型の L = 0、R = X。
    一方、(L < R)
    { 
        int型ミッド=(長い )L + R + 1 >> 1 もし(MID <= X / MID)L = ミッド。
        他の R =中旬- 1 
    } 
    戻りL。
}

 



おすすめ

転載: www.cnblogs.com/ChanJL/p/11301022.html