基本思想:
直接打表;
关键点:
无;
#include<stdio.h> #include<stdlib.h> #include<iostream> #include<string> #include<vector> #include<algorithm> #include<map> #include<set> using namespace std; const int maxn = 11000; int m, n; bool num[maxn]; void init() { fill(num, num + maxn, true); num[0] = num[1] = false; for (int i = 2; i < maxn; i++) { if (num[i]) { //如果是素数; for (int j = i+i; j < maxn; j+=i) { num[j] = false; } } } } int main() { init(); while (cin >> n) { bool flag = true; for (int i = 1; i < n; i++) { if(num[i]&&i%10==1) if (flag) { cout << i; flag = false; } else { cout << " " << i; } } cout << endl; } return 0; }
原文:https://www.cnblogs.com/songlinxuan/p/12408393.html