PAT-B 1013. 数素数

来源:互联网 发布:数据库主键约束 编辑:程序博客网 时间:2024/05/18 01:11

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

输入格式:

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

输出格式:

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

输入样例:

5 27

输出样例:

11 13 17 19 23 29 31 37 41 4347 53 59 61 67 71 73 79 83 8997 101 103

程序代码:

#include<stdio.h>#include<math.h>long long  Prime(int n);long long PrimeNext(long long m);int main(){    int M,N;    scanf("%d%d",&M,&N);    int i;    long long tmp=Prime(M);    for(i=M;i<=N;i++)    {        //tmp = Prime(tmp);        if(i==N)        {        //  tmp=Prime(i,tmp);            printf("%lld",tmp);        }               else if((i-M+1)%10==0)            printf("%lld\n",tmp);        else              printf("%lld ",tmp);        tmp = PrimeNext(tmp);    }    return 0;}long long PrimeNext(long long m){//  long long p;    m=m+1;    long long i;        for(i=2;i<=sqrt(m);i++)        {            if(m%i==0)            {                m++;                    i=1;            }        }//      p=m;    return m;}long long Prime(int n){    if(n==1)                return 2;        int m=3;    int count =1;        long long i;    long long p;        while(count<n)    {            for(i=2;i<=sqrt(m);i++)                {                        if(m%i==0)                        {                                m++;                                i=1;                        }                }                p=m;            m++;        count++;    }    return p;}
0 0
原创粉丝点击