1013 数素数 (20 分)

Posted yangbocsu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1013 数素数 (20 分)相关的知识,希望对你有一定的参考价值。

 

1013 数素数 (20 分)

令 P​i​​ 表示第 i 个素数。现任给两个正整数 M≤N≤10​4​​,请输出 P​M​​ 到 P​N​​ 的所有素数。

输入格式:

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

输出格式:

输出从 P​M​​ 到 P​N​​ 的所有素数,每 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>
#include<math.h>
//判断素数
int isprime(int x); 
int main()
{
    int N,M,i,j=1,prime[10000];
    prime[0]=2;//2是最小的素数 
    scanf("%d %d", &M, &N);  //M:第M个素数,N:第N个素数 
    
    for(i=3;j<10000;i++) //判断条件是j<10000,是有10000个素数 
    {
        if(isprime(i))
            prime[j++] = i;//从 prime[1]开始保存素数 
    }
    
    j=1; //在这里用于输出格式判断 
    for(i=M;i<=N;i++)
    {
      if(j%10 != 0 && i!=N)//我素数不是最后一个也不是一行最后一个 
   			printf("%d ", prime[i-1]); 
    
      else if(j==N)//最后一个素数  不需要空格了 
            printf("%d", prime[i-1]);  
      else 	
            printf("%d\\n", prime[i-1]);  //需要换行
      j++;
    }
}


int isprime(int x)//判断素数的函数 
{
    int i;
    for(i=2;i<=sqrt(x);i++)
    {
        if(x%i == 0)
            {
              return 0;break;
			}
    }
    return 1;
}


还是比较怀念2020年夏天被拟录取后,在公司实习,每天早上去公司做题的时候

 

以上是关于1013 数素数 (20 分)的主要内容,如果未能解决你的问题,请参考以下文章

1013 数素数 (20 分)

1013 数素数 (20)(20 分)

1013 数素数 (20 分)

B 1013 数素数 (20分)

1013 数素数 (20分)

PAT乙级1013 数素数 (20 分)