3
A
回答
2
X mod -Y
如您所定義的,它可以通過求解-X mod Y
然後否定答案來計算。
實施例:1 mod -3
- >-1 mod 3 = 2
- >-2
在Java具體地,做-X % Y
,再加入Y
如果非零,則否定答案。
public static int negativeMod(int x, int y) {
if (y > 0) return x % y;
int newAnswer = (-1 * x) % (-1 * y);
if (newAnswer != 0) newAnswer -= y;
return -1 * newAnswer;
}
3
的%
經營者在Java中是不模運營商,它的其餘。 (他們是而不是是同樣的事情)這解釋了你得到的不同跡象。從當前Java Language Specification,部分§15.17.3:
二進制%操作者被說成從一個隱含的除法得到其操作數的剩餘部分;左邊的操作數是紅利,右邊的操作數是除數。
在C和C++中,餘數運算符只接受整數操作數,但在Java編程語言中,它也接受浮點操作數。
在二進制數值提升(§5.6.2)之後爲整數的操作數的其餘操作會生成一個結果值,使得(a/b)* b +(a%b)等於a。
即使在特殊情況下,該特徵也是成立的,即股利是其類型的最大可能幅度的負整數,除數是-1(餘數爲0)。
從這個規則可以看出,只有當股利是負數時剩餘操作的結果纔是負的,並且只有當股利是正數時纔可以是正數。而且,結果的幅度總是小於除數的幅度。
0
這很簡單。如果餘數不爲0,則減去模數。例如1 mod -3,1 - 3是-2,你想要的答案。這是數學標識a == a - n(mod n)的簡單結果。
相關問題
- 1. (a mod 2 * x) - (a mod x)
- 2. (X <8)返回false當x = -3(雙)
- 3. 如何在JavaScript中使MOD正確返回小數?
- 4. Mod返回奇怪的值
- 5. Servlet + mod-rewrite:HttpSession.getAttribute()返回null
- 6. 返回第一個X項:3
- 7. Spring 3.x + SimpleJdbcTemplate:返回多列
- 8. 爲什麼(x&3)與(x mod 4)相同?
- 9. Python 3 - 函數返回值
- 10. FPGA spartan 3 - X mod 3在無時鐘的組合過程中
- 11. 返回給出的Django
- 12. 按給定值返回數組鍵(給出返回日期的月份)
- 13. Python 3.x內置函數現在返回類型
- 14. `x = [範圍(3)中的x的x值]`,`x [0]()`會返回什麼?
- 15. math.cos(x)沒有返回正確的值?
- 16. 在函數中返回數組給出undefined javascript
- 17. CreateProcess()函數。 GetLastError()返回3
- 18. Memcached沒有正確地返回存儲的數據codeigniter 3
- 19. 如何返回正數
- 20. Rails 3 - 給定日期的助手是否會返回「Today」,「Yesterday」或「x days ago」?
- 21. mod重寫OS X 10.6
- 22. PHP COM函數返回結構給出錯誤[0x80070057]參數不正確
- 23. 將函數返回給函數
- 24. 1 mod 3的說明
- 25. PHP - 返回值如果2出3真
- 26. rails 3返回網站用戶登出
- 27. nokogiri返回空白給出正確的xpath
- 28. 返回上一頁沒有給出正確的複選框值
- 29. TypeError:__init __()需要正好4個參數(給出3)Point Shapely
- 30. 返回指針數組沒有給出預期輸出在C
這種方法的問題是,根據Java,'negative%positive = negative' –
@JanDvorak address – durron597
如果模數結果爲零,則不應該添加y。 –