numbers=[]
while(1):
numbers.append(int(input()))
if numbers[-1]==-1: break
numbers=numbers[:-1]
for number in numbers:
tmp=[]
i=1
while(i<number):
if number%i==0:
tmp.append(i)
i+=1
if sum(tmp)==number:
print(number,end=" = ")
for k in range(len(tmp)):
if k<len(tmp)-1:
print(tmp[k],end=" + ")
else:
print(tmp[k])
else:
print(number,"is NOT perfect.")
입력은 -1이 들어올때까지 입력받는다
출력은 완전수일 경우 약수들 사이에 "+" 를 넣어 알맞게 출력
완전수가 아닐 경우 "is NOT perfect"를 출력
이 문제는 약수를 구하는 것보다 출력문에 더 신경써야 하는 문제같다.
'자기개발👨💻 > 코딩 알고리즘' 카테고리의 다른 글
[python] 2016년 (요일구하기) (0) | 2021.01.03 |
---|---|
같은 숫자는 싫어 (틀린코드/맞는코드) (1) | 2021.01.03 |
[python] 2019 카카오 크레인 인형뽑기 게임 (0) | 2021.01.02 |
[python] 백준 1463 1로 만들기 (2) | 2020.12.28 |
[python] 백준 2480 주사위 세개 (2) | 2020.12.27 |
[python] 백준 1251 단어 나누기 (0) | 2020.12.25 |