素数表(欧拉筛法)

把 n 以内的素数存入数组 b 中
void PrimeMap(int n, int b[]) {
    int a[n];
    int x = 0;
    memset(a, 0, sizeof(a)); //初始化清零
    for(int i = 2; i <= n; i++) {
        if(!a[i]) b[x++] = i; //如果没被筛选,则为素数存入数组 b 中

        for(int j = 0; i * b[j] <= n; j++) { //循环将素数的倍数筛掉
            a[b[j] * i] = 1;
            if(i % b[j] == 0) break;
        }
    }
}
全部评论

相关推荐

accaacc:2到4k,不是2k到4k,所以年薪是30块
点赞 评论 收藏
分享
我在朝九晚六双休的联想等你:如果我是你,身体素质好我会去参军,然后走士兵计划考研211只需要200多分。
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务