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

조현성님의 프로필 이미지
조현성

작성한 질문수

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

3주차 개념 #1. 완전탐색과 백트래킹

3#1 if(n%2==)return 0 하고 다음에 i=2로 같은 작업을 반복할필요 없지않나요

작성

·

273

0

for(int i=3으로 해도 되는데 그냥 i=2로 쓰신건가요?

답변 1

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;
}

음.. 듣고보니 그러네요. ㅎㅎ

현성님 말씀처럼 i = 3부터 더 좋은 코드인 거 같습니다.

 

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

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

감사합니다.

강사 큰돌 올림.

조현성님의 프로필 이미지
조현성

작성한 질문수

질문하기