我需要找到 的值a mod m
。但我没有a
直接的价值。我有以下模数值a
。
a mod 2 1
a mod 2 2
a mod 2 3
...
a mod 2 n
现在我需要找到a mod m
可以
在 O(n) 时间内完成的地方吗?m < 2
n
我需要找到 的值a mod m
。但我没有a
直接的价值。我有以下模数值a
。
a mod 2 1
a mod 2 2
a mod 2 3
...
a mod 2 n
现在我需要找到a mod m
可以
在 O(n) 时间内完成的地方吗?m < 2
n
如果没有更多信息,它根本无法完成,更不用说在 O(n) 时间内完成了。
首先请注意,您只有一条信息:即 ; 的值a mod 2^n
。所有早期的余数都可以a mod 2^n
通过归约来计算,因此它们不提供新信息。
然后,例如,如果m
是奇数,则 的值a mod 2^n
不会告诉您 的值a mod m
:中国剩余定理告诉您,对于任何值0 <= b < 2^n
和0 <= c < m
,您都可以找到和的a
值。a mod 2^n = b
a mod m = c
如果m
是偶数但不是幂,2
那么您将获得有关可能性的部分信息a mod m
。只有在m
幂2
小于或等于的情况下,2^n
您才能确定(通常通过归约) 的值a mod m
。