[문제]
어떤 자연수 p와 q가 있을 때, 만일 p를 q로 나누었을 때 나머지가 0이면 q는 p의 약수이다.
그래서 6의 약수는 1, 2, 3, 6, 총 네 개이다.
두 개의 자연수 N과 K가 주어졌을 때, N의 약수들 중 K번째로 작은 수를 출력하는 프로그램을 작성하시오.
첫째 줄에 N의 약수들 중 K번째로 작은 수를 출력한다. 만일 N의 약수의 개수가 K개보다 적어서 K번째 약수가 존재하지 않을 경우에는 0을 출력하시오.
[문제 접근]
for문을 돌면서 약수들을 찾고 그 약수들을 리스트에 저장하여 K번쨰 작은 수를 출력한다.
[정답]
[1-2] 약수를 구할 자연수 N과 번째 수인 K를 입력받는다. 약수를 저장할 리스트 ans을 선언한다.
[4-6] for문을 돌면서 N의 약수를 리스트 ans에 추가한다.
[8-11] 만약 N의 약수의 개수가 K개보다 적다면 0을 출력하고 아닌 경우에는 K번째로 작은 수를 출력한다.
'알고리즘 공부 > 백준 > Python3' 카테고리의 다른 글
[백준 파이썬] #1934: 최소공배수 (0) | 2021.03.19 |
---|---|
[백준 파이썬] #2548: 대표 자연수 (0) | 2021.03.16 |
[백준 파이썬] #11557: Yangjojang of The Year (0) | 2021.03.15 |
[백준 파이썬] #4592: 중복을 없애자 (0) | 2021.03.15 |
[백준 파이썬] #4101: 크냐? (0) | 2021.03.14 |