题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
2,3,5,7,11,13,… 是素数序列。 类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。
上边的数列公差为 30,长度为 6。
2004 年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。 这是数论领域一项惊人的成果!
有这一理论为基础,请你借助手中的计算机,满怀信心地搜索:
长度为 10 的等差素数列,其公差最小值是多少?
运行限制
最大运行时间:1s
最大运行内存: 128M
#include <iostream>
using namespace std;
int f(int x) {
for (int i = 2; i * i < x; ++i) {
if (x % i == 0)
return 0;
}
return 1;
}
int main()
{
// 请在此输入您的代码
int cnt = 1;
for (int i = 2; i < 1000; ++i) {
if (f(i)) {
for (int d = 1; d < 1000; ++d) {
for (int k = 1; k < 1000; ++k) {
if (f(i + d * k)) cnt++;
else {
cnt = 1;
break;
}
if (cnt == 10) {
cout << d;
}
}
}
}
}
return 0;
}