백준 온라인 저지 9842번 Prime

김선모·2023년 11월 8일

Baekjoon Online Judge

목록 보기
4/31
post-thumbnail

문제


A prime number is a natural number which has exactly two distinct natural number divisors: 1 and itself. The first prime number is 2. Can you write a program that computes the nth prime number, given a number n ≤ 10000?

한국어 번역
1과 자기 자신 만을 약수로 가지는 자연수를 소수라고 한다.
첫번째 줄에는 n이 입력되며 n이 10000 이하일 때 n번째 소수를 계산하는 프로그램을 작성하시오. (단, 첫번째 소수는 2)

입력


The input contains just one number which is the number n as described above. The maximum value of n is 10000.

한국어 번역
첫번째 줄에 숫자 n이 입력된다. n ≤ 10000

예제 입력, 출력


예제 입력 1 
30
예제 출력 1 
113

풀이


에라토스테네스의 체를 사용했을 때 x가 104730일 때 소수가 약 10000개 나오므로 에라토스테네스의 체를 사용해 소수를 약 10000개를 리스트에 저장한 후 n을 입력받아 소수를 저장한 리스트의 n-1번째를 출력해주었다.

Code


x = 104730
a = [0,0] + [1] * x
result = []
for i in range(2,x) :
    if a[i] == 1 :
        result.append(i)
        for j in range(i*2,x,i) :
            a[j] = 0
n = int(input())
print(result[n-1])
profile
밑에 제 포트폴리오 사이트 들어갈 수 잇습니다

0개의 댓글