#BOJ 2501 약수 구하기
n, k = map(int, input().split())
divisor = []
for i in range(1, n + 1):
if n % i == 0:
divisor.append(i)
if k > len(divisor):
print("0")
else:
print(divisor[k - 1])
코드 설명
약수들을 저장할 리스트 divisor
을 선언한다.
1부터 n까지의 수들 중 n의 약수를 구하기 위하여 n % i == 0
을 만족하는지 테스트하고, 만족하는 경우 해당 숫자를 divisor
에 넣는다.
n의 약수들 중 k 번째로 작은 것을 출력해야하는데, 만약 n의 약수의 개수가 k보다 작은 경우에는 0을 출력한다. 그렇지 않은 경우에는 k 번째 약수, divisor[k-1]
을 출력한다.