已知结果计算多次(a*x+b)%n中的x,
for _ in range(3):
x = (a * x + b) % n
print(x)
其中已知n和三次输出的x,请问大家有什么算法能算出最原始的x吗?x的数据大小在10的104次。谢谢大家
这个不可能
比如 x = (3 * x + 2)%5
如果print输出x为3,那么原始x=2和7,以及2+ 5 * n的时候,输出x都是3
所以不是唯一解,自然就不知道原始x是多少
a n b都已知吗?
我遇到过已知输入和输出,估计参数的问题,就是估计你的题目中的a和b。你的这个题目告诉了输出是多少,说没说a和b的系数都是多少呢?
这个不可能
比如 x = (3 * x + 2)%5
如果print输出x为3,那么原始x=2和7,以及2+ 5 * n的时候,输出x都是3
所以不是唯一解,自然就不知道原始x是多