社区讨论
复习模板的时候发现个神奇的事情
P3383【模板】线性筛素数参与者 6已保存回复 6
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 6 条
- 当前快照
- 1 份
- 快照标识符
- @lod5hqvm
- 此快照首次捕获于
- 2023/10/31 01:05 2 年前
- 此快照最后确认于
- 2023/11/05 11:30 2 年前
CPP
#include<cstdio>
using namespace std;
int prime[1000001], h = 0;
int vis[100000001];
int main ()
{
int n, q, x;
scanf("%d%d", &n, &q);
vis[1] = 1;
for(int i = 2; i <= n; i++)
{
if(!vis[i])
prime[h++] = i;
for(int j = 0; j < h && i * prime[j] < n; j++)
{
vis[i*prime[j]] = 1;
if (i % prime[j] == 0)
break;
}
}
for(int i = 1; i <= q; i++)
{
scanf("%d",&x);
printf("%d\n",prime[x-1]);
}
return 0;
}
我先开
CPPprime 数组,然后提交就是 RE#include<cstdio>
using namespace std;
int vis[100000001];
int prime[1000001], h = 0;
int main ()
{
int n, q, x;
scanf("%d%d", &n, &q);
vis[1] = 1;
for(int i = 2; i <= n; i++)
{
if(!vis[i])
prime[h++] = i;
for(int j = 0; j < h && i * prime[j] < n; j++)
{
vis[i*prime[j]] = 1;
if (i % prime[j] == 0)
break;
}
}
for(int i = 1; i <= q; i++)
{
scanf("%d",&x);
printf("%d\n",prime[x-1]);
}
return 0;
}
就很神奇
但是我先开
vis 数组,提交就能 AC回复
共 6 条回复,欢迎继续交流。
正在加载回复...