我想在包含%
Java模数的方程中获取未知数的值
例如:
x % 26 = y
如果我有我y
怎么能得到的价值x
问题在于,对于给定的 ,满足该方程的值要么为零(如果Math.abs(y) >= 26
),要么有无穷多个值。一般的答案是:x
y
x = 26 * k + y
对于 的任何整数值k
。你可以选择任何k
你想要的。2
1实际上,范围将受到您使用的整数值范围的限制。如果x
和y
是int
值,那么你会受到Integer.MAX_VALUE
和的限制Integer.MIN_VALUE
。另一方面,如果它们是BigInteger
值,那么您就没有太多的范围限制了。
2实际上,Java 中x
和的符号y
必须相同,因此您只有无穷大的一半可供选择。:-)
你不能得到 x 的值,这就是模数的工作原理。你只知道 x = 26 * k + y 其中 k 是一个整数。