강의

멘토링

커뮤니티

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

ye님의 프로필 이미지
ye

작성한 질문수

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

15. 소수의 개수(제한시간 1초)

제가 짠 코드의 문제점이 뭘까요?

작성

·

185

0

int n, cnt, i, tmp;

scanf("%d", &n);

for(i=2; i<=n; i++){

if(i==2||i==3||i==5) cnt++;

tmp=i;

if(tmp%2==0||tmp%3==0||tmp%5==0) continue;

cnt++;

}

printf("%d", cnt);

return 0;

n에 200,000을 입력했을 때 다른 값이 나와서 어떤 문제점 때문인지 알고 싶습니다.

그리고 이런 방식의 코드는 비효율적일까요?

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

2, 3, 5의 배수가 아니면 소수라는 논리는 맞지 않습니다.

n에 50을 입력하고 소수로 카운팅하는 i들을 출력해보세요.

ye님의 프로필 이미지
ye

작성한 질문수

질문하기