728x90
[백준] 9506번 Python 파이썬
https://www.acmicpc.net/problem/9506
c = []
while True:
a = int(input())
for i in range(1, a): # a는 약수에 포함되지 않아야 하므로 범위를 1부터 a-1로 정해준다.
if a % i == 0: # 빈 리스트 c에 a의 약수들을 대입한다.
c.append(i)
if a == -1: # 입력이 -1일 경우, 실행을 종료한다.
break
if sum(c) == a: # 자기 자신을 제외한 a의 약수들의 합이 a와 같다면 10번째 줄과 같이 출력한다.
print(a, ' = ', ' + '.join(str(i) for i in c), sep = '')
c = []
else:
print(a, 'is NOT perfect.')
c = []
완전수를 출력할 때, sep = ''을 쓰지 않아서 '출력 형식이 잘못되었습니다'가 떴다.
'BAEKJOON (Python) > 단계별' 카테고리의 다른 글
BAEKJOON_11653 "소인수분해" PYTHON (0) | 2023.03.04 |
---|---|
BAEKJOON_1427 "소트인사이드" PYTHON (0) | 2023.03.03 |
BAEKJOON_2501 "약수 구하기" PYTHON (0) | 2023.03.02 |
BAEKJOON_5086 " 배수와 약수" PYTHON (0) | 2023.03.02 |
BAEKJOON_10250 " ACM 호텔" PYTHON (0) | 2023.03.01 |