当一个数字的平方x
除以素数时p
,得到的余数是k
。
我们如何预测素数?如果我问你只能输入x
两次而且我知道p
并且k
每次都给你,那么编写代码的逻辑可以是什么x
。
你能预测我假设的素数吗?x <= 10 ^ 9 p <10 ^ 9
发布于 2019-07-10 17:21:48
一般只用两次猜测(或任何固定的,有限的猜测限制)就无法回答这个问题。您可以自由选择任意大的素数,这是两种猜测不可能保证你可以选择任何x
使x^2
比你的素数。如果你没有这样做两次,那么获得的唯一信息就是所选素数的下限P
。
随着一个任意大(但仍然有限)的猜测数量,你最终会找到足够大的值x
。找到素数的一个策略P
是计算z=x^2-k
每个猜测并获取所有这些z
值的gcd 。通过足够的猜测,您可以保证gcd将成为素数,因此算法会停止并计算P
。
如果知道两个“足够大”的猜测是否足以满足那场比赛的话会很有趣。我不是很确定。
https://stackoverflow.com/questions/-100007070
复制相似问题