인프런 커뮤니티 질문&답변

이효민님의 프로필 이미지
이효민

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

비트마스킹 개념 #3-6. 비트연산자 활용법 : idx번째 비트가 켜져있는지 확인하기

소수 check 함수

해결된 질문

작성

·

123

0

아래는 소수 판단 여부를 알려주는 함수입니다! 여기서

if(n%2==0) return 0; 이 부분이 모듈러 연산에 이미 포함되어 있는 내용 아닌가요? (n%2==0) 이 조건도 따로 서술해줘야하는지 궁금합니다.

 

bool check(int n){

if(n<=1) return 0;

if(n==2) return 1;

if(n%2==0) return 0; <-이건 이미

 

for (int i =2; i*i <=n; i++){ <-모듈러 연산에 포함되어 있는 것 아닌가요?

if (n%i==0) return 0;

}

return 1; }

답변 1

1

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 효민님 ㅎㅎ

bool check(int n) { 
    if(n <= 1) return 0;
    if(n == 2) return 1; 
    if(n % 2 == 0) return 0;
    for (int i = 2; i * i <= n; i++) {
        if (n % i == 0) return 0;
    }
    return 1;
}

이부분 말씀이시죠?

네 맞습니다. 사실 저 부분은 중복되네요..ㅎㅎ

훌륭하시네요..ㅎㅎ

 

이부분은 3주차 + 교안에도 있는 부분인데

이렇게 오늘내로 바꾸도록 하겠습니다.

bool check(int n) { 
    if(n <= 1) return 0;
    if(n == 2) return 1; 
    if(n % 2 == 0) return 0;
    for (int i = 3; i * i <= n; i++) {
        if (n % i == 0) return 0;
    }
    return 1;
}


또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

이효민님의 프로필 이미지
이효민

작성한 질문수

질문하기