← Back to List

31216번: 슈퍼 소수 ↗

Solutions

Python 3
739 B | 739 chars
import sys
from math import sqrt, pi, sin, factorial, ceil, floor
from decimal import Decimal
BLANK = " "

# inp = input
inp = lambda : sys.stdin.readline()[:-1].strip()
mii = lambda x = BLANK : [*map(int,inp().split(x))]
mfi = lambda x = BLANK : [*map(float,inp().split(x))]
ii = lambda : int(inp())
fi = lambda : float(inp())
p = print


def solve():
  l = []
  chk = [i for i in range(320000)]

  for i in range(2, 320000):
    if chk[i] == i:
      l.append(i)
      for j in range(i * i, 320000, i):
        chk[j] = -1
  
  l2 = []
  
  for i in range(3001):
    l2.append(l[l[i] - 1])
  
  for _ in range(ii()):
    n = ii()
    p(l2[n - 1])
  
if __name__ == "__main__":
  tc = 1

  for t in range(1, tc+1):
    ret = solve()