数素数

/*

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

输入描述:

输入在一行中给出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>//第10000个素数是104729
#include<math.h>
int main(int argc,char *argv[])
{
    int p[10005];
    int i,j,m,n;
    int a=0;
    scanf("%d %d",&m,&n);
    for(i=2;i<104730;i++)
    {
        int cnt=0;
        for(j=2;j<=sqrt(i);j++)
        {
            if(i%j==0)
            {
                cnt=1;
                break;
            }
        }
        if(cnt==0)
        {
            p[a++]=i;
        }
    }
    int t=0;
    for(i=m-1;i<n;i++)
    {
        t++;
        printf("%d",p[i]);
        if(i!=n-1)
        {
            if(t%10!=0)
            {
                printf(" ");
            }else
            {
                printf(" ");
            }
        }
    }
    return 0;
}
原文地址:https://www.cnblogs.com/lijianmin6/p/10464906.html