코딩 테스트/Baekjoon

S2 4948. 베르트랑 공준

  • -
728x90

  • 정답률 : 38%


n = 123456 ls = [False,False]+[True]*(2*n-1) for i in range(2,2*n+1): if ls[i]: for j in range(2*i,2*n+1,i): ls[j]=False while True: n = int(input()) if n == 0: break count = 0 for j in ls[n+1:2*n+1]: if j: count+=1 print(count)

미리 에라토스테네스의 체를 max 크기로 만들어둔 다음 index로 분리한 뒤 True 값을 세서 출력한다.
0을 입력하면 while문을 빠져나오고 문제풀이가 끝난다.
320x100

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.