#2054: 緊急!!不知道錯在哪!


iceman126 (iceman126)

學校 : 國立臺灣師範大學附屬高級中學
編號 : 3972
來源 : [112.104.91.174]
最後登入時間 :
2018-04-08 16:36:48
a007. 判斷質數 | From: [59.104.7.97] | 發表日期 : 2009-06-07 12:59

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

using namespace std;

int main(){
 float a = 0; //input
 int x = 0; //用來做判斷
 int b = 0; //a開根號後轉換成整數
 int c = 0; //a轉換成整數

 while(cin >> a){
  if(a == 1){
   cout << "非質數" << endl;
  }
  else if(a == 2){
   cout << "質數" << endl;
  }
  else{
   b = static_cast<int>(sqrt(a)); //a開根號後轉換成整數
   c = static_cast<int>(a); //a轉換成整數
   for(int i = 2 ; i <= b ; i++){
    if(c%i == 0){
     x = 1;
     break;
    }
   }
   if(x == 1){
    cout << "非質數" << endl;
    x = 0;
   }
   else if(x == 0){
    cout << "質數" << endl;
    x = 0;
   }
  }
 }
 
 system("pause");
 return 0;
}

 
ZeroJudge Forum