https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=1&contestProbId=AV5PhcWaAKIDFAUq&categoryId=AV5PhcWaAKIDFAUq&categoryType=CODE&problemTitle=&orderBy=PASS_RATE&selectCodeLang=ALL&select-1=1&pageSize=10&pageIndex=2

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

# 문제 정리

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

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

N은 1개 이상 1000개 이하의 정수이다.

 

 

 


# 문제 해결을 위한 개념

약수의 기본 조건

1. 나누었을 떄 나머지 값이 == 0 이 되는 것을 조건문 안에 넣어야 한다.

2. 조건을 만족하지 않으면 출력하지 않는다

3. 약수는 최대 자기 자신밖에 안되므로, 반복문에서 자기 자신 값 이하로 조건을 잡는다.

 

 


# 정답 코드

n = int(input())
for i in range(n):
    if n % (i+1) == 0:
        print(i+1, end=" ")

 

 

 

 

정수 N의 약수를 내림차순으로 출력하는 경우의 코드는 다음과 같다.

n = int(input())
for i in range(n, 0, -1):  # n부터 1까지 역순으로 반복
    if n % i == 0:
        print(i, end=" ")

+ Recent posts