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

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

输入格式:
输入在一行中给出 M 和 N,其间以空格分隔。
输出格式:
输出从P​M到 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

注意点:

输出的是第m个素数到第n个素数,不是数m到n之间的素数
输出格式为数与数之间有空格,每行的结尾没有空格,每10个数换行,同时最后一行要换行。

#include
#include
void fun(int m,int n)
{
     
    int i,j,k;
    int s=0,count=1;
    for(i=2;;i++)
    {
     
        k=sqrt(i);
        for(j=2;j<=k;j++)
        {
     
            if(i%j==0) break;
        }
        if(j>k) {
     
            s++;
            if(m<=s&&s<=n)
            {
                    
                /* printf("%d ",i);   //输出格式错误。
                   count++;                                  
                   if(count%10==0)
                   		printf("\n"); */
                                                   
                if(count%10!=0&&s!=n){
     
                	printf("%d ",i); 
                	count++;
                }  
                else {
     
                	printf("%d\n",i); 
                	count++;
                }             
            } 
            if(s>n) break;
        }
    }
}
int main()
{
     
    int a,b;
    scanf("%d%d\n",&a,&b);
    fun(a,b);
    return 0;
}

你可能感兴趣的:(PAT乙级,PAT(Basic,经验分享,算法,c语言,c++)