x的平方根

2021-09-16 22:22:13 字數 627 閱讀 8699

實現 int sqrt(int x) 函式。計算並返回 x 的平方根,其中 x 是非負整數。

看到這個題,當時想到了利用二分法,查詢x的平方根。寫出了如下**

public int mysqrt(int x) 

else if(m * m > x || m*m <0) else

} return l;

}

但是這個方法並不適用大數,因為mm有可能會溢位,則得到的負數,因此加入判斷條件(mm<0),但這依然有可能溢位太嚴重,變成了乙個正數,因此想到利用除法或者將int型別轉換為long計算,可以防止溢位,將上述**轉換為long改為:

public int mysqrt(int x) 

else if(m * m > x) else

} return (int)l;

}

改為除法的**:

public int mysqrt(int x) 

int l = 1, h = x;

while (l <= h) else if (mid > sqrt) else

}return h;

}

x的平方根

題目三十九 實現int sqrt int x 函式,計算並返回 x 的平方根。您在真實的面試中是否遇到過這個題?yes 樣例sqrt 3 1 sqrt 4 2 sqrt 5 2 sqrt 10 3 挑戰 o log x class solution if i ix return i if i i x...

x的平方根

實現 int sqrt int x 函式。計算並返回 x 的平方根,其中 x 是非負整數。由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。示例 1 輸入 4 輸出 2 示例 2 輸入 8 輸出 2 說明 8 的平方根是 2.82842 由於返回型別是整數,小數部分將被捨去。袖珍計算器演算...

69 x的平方根

一 題目 實現int sqrt int x 函式。計算並返回 x 的平方根,其中 x 是非負整數。由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。示例 1 輸入 4輸出 2示例 2 輸入 8輸出 2說明 8 的平方根是 2.82842.由於返回型別是整數,小數部分將被捨去。二 思路 採用...