质数程序错误 (C++)

Errors in Prime Numbers Program (C++)

本文关键字:C++ 错误 程序      更新时间:2023-10-16

可能的重复项:
C++质数程序

我正在开发一个 c++ 程序来计算 3 和整数"x"之间的所有素数。当我输入 10 作为"x"时,我得到输出:3555777779

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

#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;
}

违规行:

else if(i == j+1);

删除分号。

你可能想看看埃拉托色尼的筛子。