#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <math.h>
#include <string>
#include <string.h>
#include <vector>
#include <queue>
#include <stack>
#include <sstream>
using namespace std;
//1163
int mark[10010];
int isP[1001];
int cnt;
void init(int n){
memset(mark,0,sizeof(mark));
memset(isP,0,sizeof(isP));
cnt=0;
for(int i=2;i<n;i++){
if(mark[i]==1) continue;
isP[cnt++]=i;
for(int j=i*i;j<n;j+=i){
mark[j]=1;
}
}
}
int main(){
int n;
//freopen("input.txt","r",stdin);
while(scanf("%d",&n)!=EOF){
bool isN=true;
init(n);
for(int i=0;i<cnt;i++){
if(isP[i]%10==1){
if(isN){
isN=false;
printf("%d",isP[i]);
}
else
printf(" %d",isP[i]);
}
}
if(isN) printf("-1");
printf("\n");
}
return 0;
}
/**************************************************************
Problem: 1163
User: cust123
Language: C++
Result: Accepted
Time:0 ms
Memory:1560 kb
****************************************************************/
题目1163:素数
最新推荐文章于 2023-01-02 10:09:21 发布