#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int a,i ;
while (cin >> a )
{
for (i = 2 ; i <= (a/2) ;i = i + 1 )
{
if ( a % i == 0 )
{
cout << "非質數" << endl;
i= (a/2);
}
else if (i= int(a/2))
{
cout << "質數" << endl ;
}
}
}
return 0;
}
如果輸入 a是 1561561 而 i 跑到 = 101 的話
那麼 1561561 % 101 == 0
但程式卻不會跑這紅色那行 WHY????
#include
#include
using namespace std;
int main(int argc, char *argv[])
{
int a,i ;
while (cin >> a )
{
for (i = 2 ; i <= (a/2) ;i = i + 1 )
{
if ( a % i == 0 )
{
cout << "非質數" << endl;
i= (a/2);
}
else if (i= int(a/2))
{
cout << "質數" << endl ;
}
}
}
return 0;
}
如果輸入 a是 1561561 而 i 跑到 = 101 的話
那麼 1561561 % 101 == 0
但程式卻不會跑這紅色那行 WHY????
你的i並不會跑到101
而是只跑到2而已
#include
#include
using namespace std;
int main(int argc, char *argv[])
{
int a,i ;
while (cin >> a )
{
for (i = 2 ; i <= (a/2) ;i = i + 1 )
{
if ( a % i == 0 )
{
cout << "非質數" << endl;
i= (a/2);
}
else if (i= int(a/2))
{
cout << "質數" << endl ;
}
}
}
return 0;
}
如果輸入 a是 1561561 而 i 跑到 = 101 的話
那麼 1561561 % 101 == 0
但程式卻不會跑這紅色那行 WHY????
你的i並不會跑到101
而是只跑到2而已
謝謝你的回應
但是我始終不知道哪裡打錯...