AcWing 3526. 素数(适合小白,手把手教怎么灵活运用板子题)
原题链接
简单
作者:
致敬大佬
,
2024-07-22 21:56:23
,
所有人可见
,
阅读 7
参照y总算法基础课CH4讲的质数部分板子题,稍微变通一下就可以解决了,感觉我的代码比y总在这个题解视频里讲的要封装得稍微好一点,所以逻辑也更清楚一点,适合小白来看
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
const int N =10010;
bool st[N], exist; //exist用来判断是否找到了题中所求的数
void get_primes(int n)
{
memset(st, false, sizeof(st));
exist = false;
for (int i = 2; i < n; i ++)
{
if (!st[i] && i % 10 == 1) exist = true, printf("%d ", i);
for (int j = i + i; j <= n; j += i) st[j] = true;
}
if (!exist) printf("-1");
puts("");
}
int main()
{
int n;
while(cin >> n)
{
get_primes(n);
}
return 0;
}