목적
  - 소수와 약수를 출력한다.

문제
사용자 삽입 이미지

코드

#include <iostream>

using namespace std;

bool isPrime(int aIn)
{
 int i = 2;
 while(i < aIn)
 {
  if(aIn % i == 0) return false;
  i++;
 }

 return true;
}

int main(void)
{
 int i, iIn;
 i = iIn = 0;
 
 while( !(iIn > 100 && iIn < 200) )
 {
  cout << "100 ~ 200 사이의 정수값을 입력하세요 : ";
  cin >> iIn;

 }

 if(isPrime(iIn))
 {
  cout << "입력한 정수 " << iIn << " 는 소수 입니다.";
 }

 else
 {
  i = 1;
  cout << "입력한 정수 " << iIn << " 는 다음과 같은 약수를  가지고 있습니다." << endl;
  while(i < iIn)
  {
   if(iIn % i == 0) cout << i << " ";
   i++;
  }


 }

 cout << endl;

 return 0;
}


해설
  - 이전 문제와 다른 알고리듬으로 소수를 출력했습니다.
  - iostream 에서는 C 와 달리 bool 형 변수(false / true) 가 존재 합니다.

참고
  - 유사 문제

Posted by 카켈