#1475: 哪來的OLE!?


timmymike (超小小蝦米)

學校 : 中原大學
編號 : 2130
來源 : [61.219.23.150]
最後登入時間 :
2023-01-30 16:17:23
a007. 判斷質數 | From: [219.80.34.154] | 發表日期 : 2009-03-04 14:42

不知道為什麼會多印出一個"非質數"耶!

 程式碼如下:

# include <iostream>
# include <stdlib.h>
# include <math.h>


using namespace std ;


bool IsPrime( long long int num ) {
// num代表代測數

   long long int sqrtnum = (long long int)sqrt( (double)num ) ;
  // 此時要開始檢查sqrt到num是不是原num的因數

  if ( sqrtnum == 1 && num != 1 ) // 2、3都是質數
    return true ;
  else if ( num == 1 )
    return false ;
  else {
    for ( int i = sqrtnum ; i > 1 ; i -- )
      if ( num%i == 0 ) // 代表小於 sqrtnum的數有數字是num的因數
        return false ;
 
    return true ;
  } // else
} // IsPrime()


int main() {

  long long int num = 0 ;

  while ( !cin.eof() ) {

    cin >> num ;
      
    if ( IsPrime( num ) )
      cout << "質數" << endl ;
    else
      cout << "非質數"  << endl ;

  } // while
 

  return 0 ;
} // main()

 有請高手替我指教>.<

 

 
#9010: Re:哪來的OLE!?


a007 (a007)

學校 : 不指定學校
編號 : 41774
來源 : [222.66.36.250]
最後登入時間 :
2016-02-24 16:03:48
a007. 判斷質數 | From: [101.231.75.148] | 發表日期 : 2014-07-16 13:26

不知道為什麼會多印出一個"非質數"耶!

 程式碼如下:

# include
# include
# include


using namespace std ;


bool IsPrime( long long int num ) {
// num代表代測數

   long long int sqrtnum = (long long int)sqrt( (double)num ) ;
  // 此時要開始檢查sqrt到num是不是原num的因數

  if ( sqrtnum == 1 && num != 1 ) // 2、3都是質數
    return true ;
  else if ( num == 1 )
    return false ;
  else {
    for ( int i = sqrtnum ; i > 1 ; i -- )
      if ( num%i == 0 ) // 代表小於 sqrtnum的數有數字是num的因數
        return false ;
 
    return true ;
  } // else
} // IsPrime()


int main() {

  long long int num = 0 ;

  while ( !cin.eof() ) {

    cin >> num ;
      
    if ( IsPrime( num ) )
      cout << "質數" << endl ;
    else
      cout << "非質數"  << endl ;

  } // while
 

  return 0 ;
} // main()

 有請高手替我指教>.<

 


 

 

 

int main() {

  long long int num = 0 ;

  while ( cin >> num  )  {

    if ( IsPrime( num ) ) 

      cout << "質數" << endl ;

    else

      cout << "非質數"  << endl ;

     }

     return 0 

  }

 

 

試試這樣

 

 
#9029: Re:哪來的OLE!?


fantasy_whale (幻光海鯨)

學校 : 國立中山大學
編號 : 42092
來源 : [27.242.108.33]
最後登入時間 :
2020-10-26 22:41:49
a007. 判斷質數 | From: [140.117.147.41] | 發表日期 : 2014-07-24 13:39

不知道為什麼會多印出一個"非質數"耶!

 程式碼如下:

# include
# include
# include


using namespace std ;


bool IsPrime( long long int num ) {
// num代表代測數

   long long int sqrtnum = (long long int)sqrt( (double)num ) ;
  // 此時要開始檢查sqrt到num是不是原num的因數

  if ( sqrtnum == 1 && num != 1 ) // 2、3都是質數
    return true ;
  else if ( num == 1 )
    return false ;
  else {
    for ( int i = sqrtnum ; i > 1 ; i -- )
      if ( num%i == 0 ) // 代表小於 sqrtnum的數有數字是num的因數
        return false ;
 
    return true ;
  } // else
} // IsPrime()


int main() {

  long long int num = 0 ;

  while ( !cin.eof() ) {

    cin >> num ;
      
    if ( IsPrime( num ) )
      cout << "質數" << endl ;
    else
      cout << "非質數"  << endl ;

  } // while
 

  return 0 ;
} // main()

 有請高手替我指教>.<

 


 

 

 

int main() {

  long long int num = 0 ;

  while ( cin >> num  )  {

    if ( IsPrime( num ) ) 

      cout << "質數" << endl ;

    else

      cout << "非質數"  << endl ;

     }

     return 0 

  }

 

 

試試這樣

 O_O

 



 
#9031: Re:哪來的OLE!?


fantasy_whale (幻光海鯨)

學校 : 國立中山大學
編號 : 42092
來源 : [27.242.108.33]
最後登入時間 :
2020-10-26 22:41:49
a007. 判斷質數 | From: [140.117.147.41] | 發表日期 : 2014-07-24 13:39

不知道為什麼會多印出一個"非質數"耶!

 程式碼如下:

# include
# include
# include


using namespace std ;


bool IsPrime( long long int num ) {
// num代表代測數

   long long int sqrtnum = (long long int)sqrt( (double)num ) ;
  // 此時要開始檢查sqrt到num是不是原num的因數

  if ( sqrtnum == 1 && num != 1 ) // 2、3都是質數
    return true ;
  else if ( num == 1 )
    return false ;
  else {
    for ( int i = sqrtnum ; i > 1 ; i -- )
      if ( num%i == 0 ) // 代表小於 sqrtnum的數有數字是num的因數
        return false ;
 
    return true ;
  } // else
} // IsPrime()


int main() {

  long long int num = 0 ;

  while ( !cin.eof() ) {

    cin >> num ;
      
    if ( IsPrime( num ) )
      cout << "質數" << endl ;
    else
      cout << "非質數"  << endl ;

  } // while
 

  return 0 ;
} // main()

 有請高手替我指教>.<

 


 

 

 

int main() {

  long long int num = 0 ;

  while ( cin >> num  )  {

    if ( IsPrime( num ) ) 

      cout << "質數" << endl ;

    else

      cout << "非質數"  << endl ;

     }

     return 0 

  }

 

 

試試這樣

 



 
ZeroJudge Forum