Programming

소수 판별 프로그램

AmoebaBlog 2010. 7. 16. 22:53


#include <iostream>
using namespace std;

int main()
{
 char y= 'y';

 while(y=='y')
 {
  int num;
  cout<<"정수 하나 입력하셔용?"<<endl;
  cin>>num;
  if(num<=2 || num<=0)
  {
   cout<<"2보다 크거나 양의 정수를 입력해 주십쇼"<<endl;
   getchar();
   break;
  }
  bool TF= true;
  int na;
  
  for(int i=2; i<num; i++)
  {
   na= num;
   //cout<<"나누는수: "<<i<<endl;
   while(na>=i)
   {
    na= na-i;
    //cout<<na<<endl;
   }

   if(na==0)
   {
    TF= false;
    break;
   }
  }
  if(TF)
  {
   cout<<"입력하신 "<<num<<"은 소수입니다."<<endl;
  }
  else
  {
   cout<<"입력하신 "<<num<<"은 소수가 아닙니다."<<endl;
  }
  getchar();
  cout<<"계속하시겠습니까?[y/n]"<<endl;
  cin>>y;
 }
 cout<<"이용해주셔서 감사합니다."<<endl;
 getchar();
}
//일일히 빼서 구했는데, 더 괜찮은 알고리즘이 있는지는...기억이 안남...