123 Prime Square Remainders
表示第 个质数, 是 模 的余数。
求满足余数 超过 的 的最小值。
这问题的关键在于找到一个简单的方式来表达 。我们先把 展开看看。 除了最后两项,其他能被 整除。 类似。所以 为偶数时 显然不大于 。
为奇数时 我们只需要考察 是奇数即可,同时,给定 ,我们能够很快的计算出 的值。
写代码得到答案。
var primes = Utils.GenPrimes(1000000).Where(p => p != 0).ToList();
int n = 7039;
for (; n < primes.Count; n += 2)
{
var r = 2 * n * primes[n - 1];
if (r > 10000000000)
{
break;
}
}
primes[n - 1]
减一的原因是数组从 0 开始,而不是 1。