본문 바로가기

알고리즘

백준 (2501) 약수 구하기 (파이썬)

https://www.acmicpc.net/problem/2501

문제


자연수 p 의 약수를 구하는 문제이다. 이때 q 의 수만큼 작은 순서의 수를 구하면된다.

 

입력


n 과 k 가 주어진다. (1 <= n <= 10000) , (1 <= k <= n)

 

출력


k번째 약수를 출력 존재 하지 않을경우 0 출력

 

n,k = map(int,input().split()) 

def __main__():
    cnt = 0
    for i in range(1,n+1): # n의 크기만큼 의 range
        if n % i == 0: # i가 n의 약수이면 cnt 증가
            cnt+=1
        if k == cnt: # cnt 가 k번째 순서가 되면
            print(i) # 현재 i를 출력
            return # 나감

    print(0) # 값을 찾지못하면 0을 출력

__main__()