728x90
[문제]
https://www.acmicpc.net/problem/9506
9506번: 약수들의 합
어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다. 예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다. n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라.
www.acmicpc.net
[코드]
#풀어쓴 코드
while True:
n = int(input())
if n == -1:
break
answer = ''
arr = []
for i in range(1,n):
if n % i == 0:
arr.append(i)
if sum(arr) == n:
cnt = 0
for i in range(len(arr)):
answer += str(arr[i])
if cnt < len(arr)-1:
answer += ' + '
cnt += 1
print(n,"=",answer)
else:
print(n,"is NOT perfect.")
#축약된 코드
while True:
n = int(input())
if n == -1:
break
arr = [i for i in range(1,n) if n % i == 0]
if sum(arr) == n:
print(n,"=",' + '.join(map(str,arr)))
else:
print(n,"is NOT perfect.")
반응형
'🚩 Coding Test > Baekjoon' 카테고리의 다른 글
[BOJ][Python] 2606 바이러스 (0) | 2024.04.08 |
---|---|
[BOJ][Python] 1260 DFS와 BFS (0) | 2024.04.08 |
[BOJ][Python] 11005 진법 변환 2 (0) | 2024.04.03 |
[BOJ][Python] 2563 색종이 (0) | 2024.04.02 |
[BOJ][Python] 10798 세로읽기 (0) | 2024.04.02 |