题解 | #打印质数表#

打印质数表

https://ac.nowcoder.com/acm/problem/22210

the Sieve of Eratosthenes

#include <stdio.h>
//输入一个自然数N,按质数定义从小到大输出1~N(包含N)中所有的质数
int main()
{
    int N;
    scanf("%d", &N);
    bool isPrime[N+1];
    for(int i = 0 ; i < N+1 ; i++)
        isPrime[i] = true;
    for(int i = 2; i * i <= N; i++){
        if(isPrime[i]){
            for(int j = i * i; j <= N; j+=i)
                isPrime[j] = false;
        }
    }
     for(int i = 2; i < N+1; i++){
         if(isPrime[i])
             printf("%d ",i);
     }
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务