반응형
문제
정수 N 을 입력받고 N이 소수인지 아닌지 판별하시오. (함수 대신 클래스를 사용하시오)
정답
- 소수면 1, 아니면 0이 출력 되도록 함.
- 객체지향에 익숙해지기 위해 클래스를 사용했음
- 입력된 값을 num 이라고 하고. 2부터 (num-1)까지의 정수로 num을 나눈 나머지를 구함. 만약 나머지가 0이라면 약수가 존재하는 것이므로 소수아님.
#include <iostream>
using namespace std;
class isprime
{
private:
int num;
public:
isprime(const int num);
int decideN();
};
isprime::isprime(const int N)
{
num=N;
}
int isprime::decideN()
{
int a=0;
if (num==1) {return 0;}
else
{
for(int i=2;i<num;i++)
{
if(num%i ==0) {return 0;}
}
return 1;
}
}
int main()
{
int num;
cin>>num;
isprime num1(num);
cout<<num1.decideN();
return 0;
}
반응형
'코딩 연습문제 > C++ 연습문제' 카테고리의 다른 글
[C++ 코딩문제] 소수 출력 (0) | 2022.08.29 |
---|---|
[C++ 코딩문제] 두 정수 A,B 입력받고, 평균 출력 (0) | 2022.08.08 |
댓글