c语言 埃氏筛法 求素数 代码及解释

Modified on: Wed, 04 Mar 2020 10:58:59 +0800 热度: 3,334 度

用“埃氏筛法”求2~100以内的素数。2~100以内的数,先去掉2的倍数,再去掉3的倍数,再去掉5的倍数,……依此类推,最后剩下的就是素数。

#include <stdio.h>
int main()
{
        int n[101];
        for (int i =2 ;i <=100;i++){
            n[i]=1;
        }
        
        for (int i =2 ;i <=100;i++){
            if (!n[i]) continue;
            for(int j=2;i*j<= 100;j++) {
                n[i*j]=0;
            }
        }
        
        for (int i =2 ;i <=100;i++){
            if(n[i]==true)
                printf("%d\n",i);

        }
    return 0;
} 

添加新评论