i 當被除數,j當除數,迴圈看 i % j
public
static
void
test2()
if(j >= i)
system.out.
println
(i);
}}
加乙個boolean判斷
public
static
void
test3()
}if(k)}
}
如果能把上兩種方法寫出來,確實已經很好了。但有沒有更優的**去實現?
試著去想這些問題:
外層for迴圈有必要執行100次嗎?
除了2所有的偶數都不是質數,那麼能不能只遍歷奇數。
**:for (int i = 3; i < 100; i+=2) //i一次迴圈自增2
考慮到這個問題,for迴圈就少遍歷了50次。效率就提公升了一倍
內層for迴圈能不能也做些優化呢?
內層for迴圈作為 除數(除數從3 到 被除數-1),通過規律發現
除數只需要從3 到 sqrt(i)就行了。
public
static
void
test4()
}if(bool)
system.out.
print
(i +
" ");}
}
面試題11 數值的整數次方
題目 實現函式double power double base,int exponent 求base的exponent次方。不得使用庫函式,同時不需要考慮大數問題。這道題目有以下幾點需要注意 0的0次方是無意義的,非法輸入 0的負數次方相當於0作為除數,也是無意義的,非法輸入 base如果非0,如果...
面試題11 數值的整數次方
面試題11 題目 實現函式double power double base,int exponent 求base的exponent次方。不使用庫函式,不考慮大數問題。需要考慮的是當輸入的指數 exponent 為0或負數的情況。bool g invalidinput false 採用全域性變數來標識...
面試題11 數值的整數次方
這個問題我想很多人拿到之後直接設定乙個for迴圈,讓底數自乘次方和次數就行。但是沒有考慮到底數是0 指數是0 以及指數是負數的情況 coding utf 8 不得使用庫函式,實現數值的整數次方 def power base,exponent answer 1.0 if isequaltozero b...