我已經寫了這個函數來找出兩個數字(包括)之間的平方根的數量。找到兩個數字之間的平方根的數量
static int FindRoot(int no1, int no2) {
int res = 0;
for (int x = no1; x <= no2; x++) {
for (int y = 1; y <= no2; y++) {
if (y * y == x)
res++;
}
}
return res;
}
這將工作正常,但我在考慮它的性能。 因爲在這種情況下,inner For loop
將從起始位置(1)開始執行,所以如果有人將大量程傳遞給該方法,則需要時間。
所以,我的問題是:
有沒有其他辦法可以具有更好的性能發現呢?
PS-我不能使用Math.sqrt()
功能
你的功能僅適用於完美的平方根? –
你可以解決規則和實現[牛頓方法](https://en.wikipedia.org/wiki/Newton%27s_method#Square_root_of_a_number)來計算平方根......但這可能不是你想要的:P – SamYonnou
我希望如此,它適用於我測試過的少數情況。有什麼問題,然後幫我找出答案。 – Trying