查找特定时间间隔内的素数

时间:2013-11-20 18:18:33

标签: c++ primes

我必须找到t个案例的素数。以下输入/输出示例:

Input:
2
1 10
3 5

Output:
2
3
5
7

3
5

注意答案之间的空格。

#include <iostream>
#include <cmath>

bool prime (int x, int y);

using namespace std;

int main()
{
    int t, x, y;
    cin >> t;
    for(int i = 0; i < t; i++)
        cin >> x >> y;
    for(int i = 0; i < t; i++){
        for (int i = x; i <= y; i++)
            cout << prime(x, y) << endl;
    }
    return 0;
}

bool prime(int x, int y){
    bool prime = true;
    for (int i = x; i <= y; i++){
        for (int j = 2; j <= sqrt(i); j++)
            if (i % j == 0)
                prime = false;
    return prime;
    }
}

我的程序一直只输出1,为什么会这样?

1 个答案:

答案 0 :(得分:3)

您输出prime(x, y)的结果,即bool。这将始终为零或一。