1013. 数素数 (20)

令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出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"
#include "math.h"

int isPreme(int n)
{
    int i;
    int flag = 1;
    if (n <= 1)
        return 0;
    if (n == 2)
        return 1;
    for (i = 2; i < sqrt(n)+1; ++i)
    {
        if(n % i == 0)
        {
            flag = 0;
            break;
        }
    }
    return flag;
}

int main(int argc, char const *argv[])
{
    int start, end;
    while(scanf("%d %d", &start, &end) != EOF)
    {
        int i, count = 0;
        for (i = 2; count < end; ++i)
        {
            if(isPreme(i))
            {
                count++;
                if(count >= start)
                {
                    if ((count - start + 1) % 10 == 1)
                        printf("%d", i);
                    else
                        printf(" %d", i);
                    if((count -start + 1) % 10 == 0)
                        printf("
");
                }
                // printf("%d : %d
", count, i);
            }
        }
    }
    return 0;
}
原文地址:https://www.cnblogs.com/hello-lijj/p/6495955.html