Java 求模表达式的数学方法
下面是在java中使用欧几里德除法求模(n,d)的两个表达式Java 求模表达式的数学方法,java,modulo,Java,Modulo,下面是在java中使用欧几里德除法求模(n,d)的两个表达式 (d + (n % d)) if (n < 0) (n%d) if n > 0 (d+(n%d))如果(n0 我的问题是, 我不清楚,在写上面的表达式之前如何进行数学思考,如果n如果您想记住n%d的作用,它将返回一个范围(-d,d)内的值,该值与mod d到n一致,并匹配n的符号 如果你想知道如何得到一个肯定的结果(或者严格地说,是一个匹配d符号而不是n符号的结果),有一种比If更简单的方法 由于(n%d)在(-
(d + (n % d)) if (n < 0)
(n%d) if n > 0
(d+(n%d))如果(n<0)
(n%d)如果n>0
我的问题是,
我不清楚,在写上面的表达式之前如何进行数学思考,如果n如果您想记住
n%d
的作用,它将返回一个范围(-d,d)
内的值,该值与mod d到n一致,并匹配n的符号
如果你想知道如何得到一个肯定的结果(或者严格地说,是一个匹配d符号而不是n符号的结果),有一种比If
更简单的方法
由于(n%d)
在(-d,d)
范围内,这意味着(n%d)+n
在(0,2d)
范围内,因此((n%d)+n)%d
是[0,d)
范围内的值,与n相等
因此,
((n%d)+n)%d
就是你要找的。我不太理解你的困境。