9506번: 약수들의 합
어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다. 예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다. n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라.
www.acmicpc.net
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 주사위 세개 (1) | 2020.12.27 |
| [python] 백준 1251 단어 나누기 (0) | 2020.12.25 |