🥉 N의 K번째 약수 출력하기
문제
- N의 약수들 중 K번째로 작은 수를 출력하는 프로그램 작성
📌 문제분석
- 문제를 살펴보면 N의 약수들 중 K번째로 작은 수를 출력하는 문제이다. N을 q로 나누었을 때 나머지가 0이 되면 q는 N의 약수라 한다.
- 입력예제의 N이 6이라면 6의 약수는
1, 2, 3, 6
이다. 3번째로 작은 수 3
을 출력한다.
🔑 KeyPoint!
- 나머지 연산을 통해 나머지가 0인 경우 카운트 값을 증가시켜 K번째에 해당하는 약수를 출력하면 된다.
🔌 Code
n, k = map(int, input().split())
cnt = 0
for i in range(1, n+1):
if n % i == 0:
cnt += 1
if cnt == k:
print(i)
break
else:
print(-1)
https://github.com/seonghyeoklee/Algorithm-Python
📃 내용정리
for ~ else
for
문에서 조건에 해당하지 않고 종료되었을 때 else
문 실행한다. python에서 처음 사용해본 문법으로 사용법이 낯설었지만 익숙해진다면 매우 유용하게 사용될 듯 하다.