输出素数(多组数据)

题干:

    有两个整数a,b(2<=a<b),输出整数区间[a,b]内的所有素数。

    现在已知有多组数据,请依次处理。 输入样例:100 110 输出样例:101,103,107,109

 输入格式:

    有多组数据,每组2个整数a,b。

输出格式:

    每组数据输出结果(素数间逗号分隔)后换行。

输入样例:

500 600
800 900
200 250

输出样例:

503,509,521,523,541,547,557,563,569,571,577,587,593,599
809,811,821,823,827,829,839,853,857,859,863,877,881,883,887
211,223,227,229,233,239,241

 代码展示:

#include <iostream>

using namespace std;

void prime (int a, int b);
int isprime(int n);

int main()
{
    int n, m;
    while (cin >> n >> m) {
        prime(n, m);
    }
    return 0;
}
void prime (int a, int b) {
    int i, j = 0;
    for (i = a; i <= b; i++) {
        if (j == 0 && isprime(i)) {
            j++;
            cout << i;
        }
        else if (isprime(i))
            cout << "," << i;
    }
    cout << endl;
}
int isprime(int n)
{
    int i, s = 1;
    for (i = 2; i <= n / 2; i++) {
        if (n % i == 0) {
            s = 0;
            break;
        }
    }
    return s;
}

上一篇:Prime Swaps 题解


下一篇:题解 Prime