0

可能重复:
C++素数程序

我正在开发一个 c++ 程序来计算 3 和整数“x”之间的所有素数。当我输入 10 作为 'x' 我得到输出: 3 5 5 5 7 7 7 7 7 9

谁能告诉我如何解决这个问题?

#include <iostream>
#include <cmath>

using std::cout;
using std::endl;
using std::cin;

int main(){

   int x;
   int i;
   int j;

   cout << "Please enter an integer 'x' greater than 3: " << endl;

   cin >> x;

   if (x <= 3){

        cout << "Please enter new value 'x' greater than 3: " << endl;

        cin >> x;
   }
        for(int i=3; i<=x; i++){
                for(j=2; j<i; j++){
                   if(i%j == 0)
                        break;
                   else if(i == j+1);
                        cout << i << endl;
                   }
        }
        return 0;
}
4

2 回答 2

4

违规线路:

else if(i == j+1);

删除分号。

于 2013-01-29T04:05:06.237 回答
1

您可能想查看埃拉托色尼筛

于 2013-01-29T04:05:15.703 回答