just inside

[SWEA/D1] 1933. 간단한 N의 약수 본문

coding test/SWEA

[SWEA/D1] 1933. 간단한 N의 약수

방울도마도 2024. 10. 9. 14:59
728x90

입력으로 1개의 정수 N 이 주어진다.

정수 N 의 약수를 오름차순으로 출력하는 프로그램을 작성하라.
 

[제약사항]

N은 1이상 1,000이하의 정수이다. (1 ≤ N ≤ 1,000)
 

[입력]

입력으로 정수 N 이 주어진다.


[출력]

정수 N 의 모든 약수를 오름차순으로 출력한다.

 

n = int(input())
result = []

for i in range(1, int(n**(1/2))+1):
    if n%i == 0:
        result.append(i)
        if i < n//i:
            result.append(n//i)

result.sort()
print(*result, sep=' ')

 

N = A*B 즉 제곱이 될 수 있다.

따라서 제곱급까지만 탐색을 해도 된다.

나누어 떨어지는 수라면 결과에 더해주고, 나눈 몫이 i 보다 크다면 함께 더해준다.

결과를 정렬하여 출력

728x90