實現 int sqrt(int x) 函式。
計算並返回 x 的平方根,其中 x 是非負整數。
由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。
示例 1:輸入: 4
輸出: 2
示例 2:輸入: 8
輸出: 2
說明: 8 的平方根是 2.82842…,
由於返回型別是整數,小數部分將被捨去。
public
intmysqrt
(int x)
else
if(x==1)
else
if(x==2)
else
if(x==3)
else
if(x==4)
int r =0;
//累加去試
while
(r*r<=x&&r<=
46340
)return r-1;
}
思路:最簡單的方法是1次加1去試,同時需要在46340這裡做一次判斷,超過這個值,平方運算結果將會溢位。
//牛頓迭代法
public
class
p69_sqrt2
//最大整數值時直接返回,避免後面操作時溢位
if(x==integer.max_value)
int r = x;
int tmp;
while
(r>
(tmp = x/r)
)return r;
}}
leetcode日記 69 x的平方根
今天的每日一題比較 奇特。實現 int sqrt int x 函式。計算並返回 x 的平方根,其中 x 是非負整數。由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。示例 1 輸入 4 輸出 2 示例 2 輸入 8 輸出 2 說明 8 的平方根是 2.82842 由於返回型別是整數,小數部...
LeetCode 簡單 69 x 的平方根
實現 int sqrt int x 函式。計算並返回 x 的平方根,其中 x 是非負整數。由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。示例 1 輸入 4 輸出 2 示例 2 輸入 8 輸出 2 說明 8 的平方根是 2.82842 由於返回型別是整數,小數部分將被捨去。class s...
69 x的平方根
一 題目 實現int sqrt int x 函式。計算並返回 x 的平方根,其中 x 是非負整數。由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。示例 1 輸入 4輸出 2示例 2 輸入 8輸出 2說明 8 的平方根是 2.82842.由於返回型別是整數,小數部分將被捨去。二 思路 採用...