Math 如何反转模运算符?

Math 如何反转模运算符?,math,Math,我有一个方程:x%a=b。值a和b是已知的。我想求x的值。那么,如何反转平面模量呢?我找到的所有东西的顺序都是a+x%m=b。 我需要为加密算法这样做。它有一种知道数字是什么的方法,我只需要把它的各个部分分开,这是我唯一没有反转的部分。假设x、a和b是整数,正如其他评论者所指出的,你找不到唯一的值。事实上,有无限多个x值将起作用,即x=b,x=b+a,x=b+2*a。。。或: 对于任意整数k,x=b+a*k 当然,对于一个实际的java int或long,只有一组有限的x值。您想找到任何解还是所

我有一个方程:x%a=b。值a和b是已知的。我想求x的值。那么,如何反转平面模量呢?我找到的所有东西的顺序都是a+x%m=b。
我需要为加密算法这样做。它有一种知道数字是什么的方法,我只需要把它的各个部分分开,这是我唯一没有反转的部分。

假设x、a和b是整数,正如其他评论者所指出的,你找不到唯一的值。事实上,有无限多个x值将起作用,即x=b,x=b+a,x=b+2*a。。。或:

对于任意整数k,x=b+a*k


当然,对于一个实际的java int或long,只有一组有限的x值。

您想找到任何解还是所有解都有无穷多个?一般来说,您无法反转它。例如,假设a为5,b为0。那么x可以是5的任意倍数。@JonSkeet我有一种方法可以将x的值编码到完成的方程中。这不是完整的等式,只是我不知道如何逆转的部分。我不知道你的意思,但问题是不可能的:你不能逆转,正如你接受的答案所指出的那样。