美文网首页PAT
1013.数素数

1013.数素数

作者: yzbkaka | 来源:发表于2018-07-21 11:37 被阅读0次

题目描述

令Pi表示第i个素数。现任给两个正整数M <= N <= 10000,请输出PM到PN的所有素数。

输入描述

输入在一行中给出M和N,其间以空格分隔。

输出描述

输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。

输入例子

5 27

输出例子

11 13 17 19 23 29 31 37 41 43
47 53 59 61 67 71 73 79 83 89
97 101 103

我的代码

#include<stdio.h>
#define N 10000
int main(){
    int m,n,i,j,k,t1=0,t2=0,a[N];
    scanf("%d %d",&m,&n);
    for(i=0;i<N;i++){     //开始判断素数
        for(j=2;j<i;j++){
            if(i%j==0){      //不是素数
                break;          
            }
        }
        if(j>=i){   //是素数
          a[t1]=i;    //将素数存储在数组中
          t1++; 
    }
}
     for(i=m+1;i<=n+1;i++){     //输出区间内的素数
        t2++;
        if(t2%10!=0&&i!=n+1){   //如果输出的数字不是每一行的最后一个以及最后一个数字
        printf("%d ",a[i]);
         }
        if(t2%10==0){   //如果是每一行的最后一个
            printf("%d",a[i]);   //不打空格
            printf("\n");    //空行
         }
         if(i==n+1){     //如果是最后一个数
            printf("%d",a[i]);  //也不要打空格
         }
     }
     return 0;
}

分析

其实这道题算是比较简单的,首先是编写一段判断素数的代码,然后将得到的素数存进a[N]这个数组之中,在这里我用了t1来当数组的下标,使他们能够按照顺序进行存储,然后就是输出,如果按照题目的文字要求,应该是输出(M,N)之间所有的素数,但是不包过PM与PN,但是它给出的例子却是输出了PN和P(N+1),我是按照例子进行编码的。然后要注意题目的要求,首先是10个数一输出,并且每一行的最后一个数的后面不能加上空格,然后是输出的最后一个数后面也不能加上空格。代码整体上是对的,但是不足之处是给数组的容量是固定的,但是根据题目的要求N的最大值可以达到120000,但如果给的过大会运行超时,而过小可能不能全部通过。这道题是得了17分,两个超大的数没有能通过,代码我会改进的。

相关文章

  • PAT-B-1013. 数素数(Java)

    1013. 数素数 (20)

  • 1013.数素数

    题目描述 令Pi表示第i个素数。现任给两个正整数M <= N <= 10000,请输出PM到PN的所有素数。 输入...

  • 1013. 数素数 (20)

    题目: 令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数。 输入格式:...

  • 1013. 数素数 (20)

    令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数。 输入格式: 输入在...

  • 【PAT-乙-C++】1013. 数素数 (20)

    问题: 这个方案有几个测试点没有通过,没有找到问题,之后再找找看 1013. 数素数 (20) 令Pi表示第i个素...

  • PAT-B 1013. 数素数 (20)

    传送门 https://www.patest.cn/contests/pat-b-practise/1013 题目...

  • 第六章第二十六题(回文素数)(Palindromic prime

    **6.26(回文素数)回文素数是指一个数同时为素数和回文数。例如:131是一个素数,同时也是一个回文素数。数学3...

  • 数素数

    令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数。输入格式:输入在一行...

  • 孤独的素数,孪生素数

    什么是素数。 素数是我们小学就学习过的数学概念。 素数是指在大于1的自然数中,除了1和该数自身外,无法被其他自然数...

  • JS if判断,for,while,dowhile 循环试题

    素数 题目:判断 101-200 之间有多少个素数,并输出所有素数。 水仙花数 题目:打印出所有的 "水仙花数",...

网友评论

    本文标题:1013.数素数

    本文链接:https://www.haomeiwen.com/subject/mcchmftx.html