社区讨论

为什么这样能过???

P3383【模板】线性筛素数参与者 7已保存回复 11

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
11 条
当前快照
1 份
快照标识符
@lo8h85jn
此快照首次捕获于
2023/10/27 18:34
2 年前
此快照最后确认于
2023/10/27 18:34
2 年前
查看原帖
rtrt
CPP
#include <stdio.h>

const int N = 1e8 + 1;

bool prime[N];
int a[0];
int n, Q;
int k;
int tot;

void sushu (int) ;

main () {
    scanf ("%d %d", &n, &Q) ;
    
    sushu (n) ;
    
    for (; Q; -- Q) {
        scanf ("%d", &k) ;
        
        printf ("%d \n", a[k]) ;
    }
}

void sushu (int n) {
    for (int i = 2; i * i <= n; ++ i)
        if (!prime[i])
            for (int j = i + i; j <= n; j += i)
                prime[j] = 1;
    
    for (int i = 2; i <= n; ++ i)
        if (!prime[i])
            a[++ tot] = i;
}

回复

11 条回复,欢迎继续交流。

正在加载回复...