任何人都可以幫助我嗎?我試圖測試素質,但我似乎無法得到這個工作。無論什麼原因,只要我運行它,它運行良好,只要我從一個不是素數的數字開始。然而,在運行不是素數的東西之後,輸出爲「0 1」而不是0。似乎如果我從非質數的數字開始,則所有內容都是「0 1」,而不是正確的輸出。在C++中測試Primality
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
#include <cmath>
int main()
{
int num;
int x = 2;
//cin >> num;
while(cin >> num) //(x<=num-1)
{
for(x<=num-1; x++;)
{
if(num%x==0)
{
cout << "0" << endl ; //1 is prime, 0 is not prime
break;
}
if(x==num)
{
cout << "1" << endl ;
break;
}
}
if(x==num)
{
cout << "1" << endl ;
}
}
return 0;
}
調試器說了什麼? – pm100
'對於(x <= num-1; x ++;)'錯誤位置的分號。嘗試'for(; x <= num-1; x ++)' –
如果您將最後一條評論與一個答案組合在一起,那麼您可以得到解決方案。刪除第二個cout並修復你的for循環語法。 –