zoukankan      html  css  js  c++  java
  • 1013. 数素数

     题目截图:

    思路:

      把素数表打至第 N 个素数,然后按格式输出即可。

    代码:

     1 /*
     2     【PAT B1013】数素数
     3 */
     4 
     5 #include <stdio.h>
     6 #include <string.h>
     7 #include <math.h>
     8 #include <stdlib.h>
     9 #include <time.h>
    10 #include <stdbool.h>
    11 
    12 #define maxn 1000001
    13 int pri[maxn], pNum=0;
    14 bool p[maxn] = {0};    // 表示数是否被筛掉
    15 
    16 // 素数表的获取,埃氏筛选
    17 void findPrime(int n) {
    18     int i;
    19     for(i=2; i<maxn; ++i) {
    20         if(!p[i]) {                // 没有被筛掉,为素数 
    21             pri[pNum++] = i;
    22             if(pNum >= n) break;    // 只把素数表打至第 N 个素数 
    23             int j; 
    24             for(j=i+i; j<maxn; j+=i) {    // 筛掉倍数 
    25                 p[j] = true;
    26             }
    27         }
    28     } 
    29 } 
    30 
    31 int main() {
    32     int m, n;
    33     scanf("%d%d", &m, &n);    // 输入 m,n
    34     findPrime(n);            // 生成素数表
    35     int i, cnt=1;
    36     for(i=m; i<=n; ++i) {
    37         printf("%d", pri[i-1]);    // 数组下标从 0 开始
    38         if((cnt++)%10 && i<n) printf(" ");
    39         else printf("
    ");        // 每10个数字占1行 
    40     } 
    41 
    42     return 0;
    43 }
  • 相关阅读:
    APIJSON
    pinyin4j 中文转拼音
    JsonPath
    rocket-api
    SpringCloudAlibaba和SpringCloud的区别
    jar分离lib打包
    java8 forEach
    java8 CompletableFuture
    IE浏览器根证书问题
    基于Win服务的标签打印(模板套打)[转]
  • 原文地址:https://www.cnblogs.com/coderJiebao/p/PAT1013.html
Copyright © 2011-2022 走看看