在編碼網站上有一個謎題,看起來很瑣碎,但當我解決它並提交時,它被標記爲錯誤,當參數或已通過該方法。我在邏輯中對以下問題做了什麼錯誤?使用mod操作符時遇到問題;我沒有得到我期待的結果
如果給定的非負數是3或5的倍數,則返回true,但不能同時爲兩者。使用% 「MOD」 操作 - 見介紹國防部
我的解決辦法:
public Boolean old35(int n) {
if(n % 3 == 0 || n % 5 == 0 && !(n % 3 == 0 && n % 5 == 0)){
return true;
}
return false;
}
Codingbat的解決方案,沒有任何意義,我在所有:
public Boolean old35(int n) {
return n % 3 == 0^n % 5 == 0;
}
'^'是「排他性的」 - 它表示「這些條件之一,但不是兩個」。 – khelwood
您並未檢查「不是兩個」情況。 – csmckelvey