목적
- 소수와 약수를 출력한다.
문제
코드
#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) 가 존재 합니다.
참고
- 유사 문제