思路:
1、因为找的是长度为10,且公差最小的等差素数列,直接用枚举即可。
2、枚举用三重循环,第一重枚举首项,第二重枚举公差,第三重因为首项算一个,所以枚举九个等差素数。
代码:
#include<iostream>
using namespace std;
int sushu(int n)//判断是否为素数
{for (int i = 2; i < n / 2; i++)if (n % i == 0)//不是素数return 0;return 1;
}
int main()
{int flag = 1;//计数for (int i = 2; i < 10000; i++)//枚举首项{if (sushu(i)){for (int j = 2; j < 1000; j++)//枚举公差{for (int k = 1; k < 10; k++)//本身算一个,再找九个数{if (sushu(i + j * k))flag++;else{flag = 1;break;}}if (flag == 10){cout << j;break;}}}}
}