본문 바로가기
코딩 연습문제/C++ 연습문제

[C++ 코딩문제] 소수 판별

by bigpicture 2022. 8. 26.
반응형

문제

정수 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;
}
반응형

댓글