반응형
https://www.acmicpc.net/problem/9506
while True:
x = int(input())
if x == (-1):
break
else:
lst = []
cnt = 0
for i in range(1, x): # 약수 다 찾기
if x % i == 0:
lst.append(i)
for i in lst: # 약수 더한값 계산
cnt += i
if cnt == x:
print(f'{x} = 1',end = "")
for i in range(1,len(lst)):
print(f' + {lst[i]}',end = "")
print()
else:
print(f'{x} is NOT perfect.')
좀 쓰인 게 많지만 간단하게 말하면
어떤 x 값의 약수들을 다 구하고 자기 자신을 제외한 뒤 나머지 약수들을 다 더한 게 x 값이랑 동일하면 된다고 생각하면서 코드를 짰다.
출력은 f-String 을 이용했다.
반응형
'BOJ > Python' 카테고리의 다른 글
백준 18406번 럭키 스트레이트 파이썬 (0) | 2022.01.12 |
---|---|
백준 10866번 덱 파이썬 (0) | 2022.01.11 |
백준 2750번 수 정렬하기 파이썬 (0) | 2022.01.09 |
백준 1453번 피시방 알바 파이썬 (0) | 2022.01.08 |
백준 1302번 베스트셀러 파이썬 (0) | 2022.01.07 |