https://www.acmicpc.net/problem/2501
문제는 n번째 약수를 구하는 문제이다. 반복문을 돌려서 조건을 만족 시킬 시, 해당 반복문을 탈출하고 출력을 하면 되는 간단한 문제이다.
a, b = map(int, input().split())
n = 0
m = 0
for i in range(1, a + 1):
if a % i == 0:
n += 1
if n == b:
m = i
break
print(m)
유의해야 하는 점은 range의 시작을 1로 선언, 그리고 끝은 기존에 입력 받은 숫자에서 1을 꼭 더해줘야 한다.
나머지 연산을 결국 나눗셈을 하고 그 나머지를 구하는 것이기 때문에 만약 1로 시작을 하지 않으면
ZeroDivision 에러에 걸린다.
그리고 만약 +1을 해주지 않으면 자기 자신을 포함하지 않기 때문에 문제의 의미에 맞지 않는다.
'알고리즘 문제 > 백준' 카테고리의 다른 글
[파이썬, Python] 백준 1049 기타줄 (0) | 2024.02.15 |
---|---|
[파이썬, Python] 백준 1065 한수 (0) | 2024.02.08 |
[파이썬, Python] 백준 18110 : solved.ac (+파이썬의 반올림 Round 함수에 대하여) (0) | 2024.02.07 |
[백준 / 자바] 1157번 단어공부 (0) | 2022.11.26 |