题目描述
质数是在数论中很有意思的数,有很多题都可以围绕它来出,就如你眼前所见的这道题。
给定一个闭区间[a,b],将此范围内的所有素数进行从小到大排序,对于连续的素数,我们可以发现很多等差数列(元素个数大于等于3),现在就请你完成这个任务。
对于给定的闭区间[a,b],你要找出里面所有的等差数列,并输出所有的等差数列。
这里有一个要求,同一个数不能同时存在于两个等差数列中。
比如a, b, c, d,e中,a, b, c是一个等差数列,c, d, e也是一个等差数列,后一个等差数列就不能以c开始,所以c, d, e在本题不构成等差数列。
输入描述:
输入占一行,只包含两个数a和b,并用空格隔开。a<b,a<=1000,b<=100000
输出描述:
输出占若干行,每行为一个等差数列,每个数用空格隔开
示例1
输入
141 400
输出
151 157 163 167 173 179 199 211 223 251 257 263 269 367 373 379
#include <bits/stdc++.h>
using namespace std;
int a[101110]={0};
void id(int y)
{
memset(a,0,sizeof(a));
a[0]=a[1]=1; //埃氏筛法
for(int i=2;i<=y;++i){
if(!a[i]){
for(int j=2*i