#5296: 問個小問題


qqqaaa830107 (ALEX)


#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????

#5297: Re:問個小問題


abcd6891 (曄哥)


#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而已

#5301: Re:問個小問題


qqqaaa830107 (ALEX)


#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而已



謝謝你的回應

但是我始終不知道哪裡打錯...