-1
下面是兩個表達式來查找模(N,d)在Java中,利用歐氏師數學方法推導模表達
(d + (n % d)) if (n < 0)
(n%d) if n > 0
我的問題是,
我不明確,如何在數學思考在寫上面的表達式之前,如果n < 0?
請幫我用數學方法,因爲我不想記住邏輯!
下面是兩個表達式來查找模(N,d)在Java中,利用歐氏師數學方法推導模表達
(d + (n % d)) if (n < 0)
(n%d) if n > 0
我的問題是,
我不明確,如何在數學思考在寫上面的表達式之前,如果n < 0?
請幫我用數學方法,因爲我不想記住邏輯!
如果您想記住n % d
所做的操作,它會返回(-d, d)
範圍內的值,並將其與n的符號相匹配。
如果你想知道如何得到一個肯定的結果(或者嚴格來說,結果匹配d的符號而不是n),那麼比if
更容易。
由於(n % d)
在上述範圍內(-d, d)
,這意味着(n % d) + n
在上述範圍內(0, 2d)
,所以((n % d) + n) % d
是範圍[0, d)
的值,全等爲n。
因此,((n % d) + n) % d
是你在找什麼。
邏輯*是*數學。 – user2357112
我不太瞭解你的困境。 – leigero