zoukankan      html  css  js  c++  java
  • c 指定范围的质数

     

    #include <stdio.h>
    #include <string.h>
    
    int n = 1000000;
    int mark[1000001];
    
    int main() {
        int N,M,j;//N和M为指定输出的质数范围
        int c;
        memset(mark, 0, sizeof(mark));//对数组进行清零的函数
        mark[0] = 1;
        mark[1] = 1;
    
        scanf("%d %d",&N,&M);
    
        for (c = 2; c * c <= N; c++) {//循环标记
            if(mark[c] != 1){
                for(j=2; j <= n/c; j++){//用倍乘的方式进行标记
                    mark[ c * j ] = 1;
                }
            }
    
        }
        for(c = M; c<=N; c++){//将未标记的数输出,即输出质数
            if(mark[c] != 1){
                printf("%d
    ",c);
            }
        }
     
     
    
        return 0;
    }
  • 相关阅读:
    CodeForces 514B
    CodeForces 514A
    UVa 818
    HDU 1003
    UVa百题总结
    UVa 11526
    UVa 12412
    UVa 211
    UVa 1587
    UVa 225 – Golygons [DFS+剪枝]
  • 原文地址:https://www.cnblogs.com/qingjiawen/p/15073451.html
Copyright © 2011-2022 走看看