일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- spring Batch
- 포너블
- sequelize
- gcp
- gcp cloud build
- webhacking.kr
- 파이썬
- nodejs
- kotest
- docker
- hackctf
- 보안
- 사이버보안
- 백준
- cloud run
- 웹해킹
- gcp ci/cd
- 리버싱
- Batch
- 시스템 해킹
- programmers
- Baekjoon
- 회고
- 프로그래머스
- 네트워크
- 웹보안
- node.js
- Python
- 스프링 배치
- pwnable.xyz
Archives
uju's Tech
[Baekjoon : Python]약수들의 합 : 9506 본문
<본 포스팅은 공부목적으로 작성되었습니다. 혹시 틀린 부분이 있거나 문제가 되는 부분이 있다면 답글 달아주세요!>
약수들의 합 : 9506
사용언어: python
문제
어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다.
예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다.
n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라.
입력
입력은 테스트 케이스마다 한 줄 간격으로 n이 주어진다. (2 < n < 100, 000)
입력의 마지막엔 -1이 주어진다.
출력
테스트케이스 마다 한줄에 하나씩 출력해야 한다.
n이 완전수라면, n을 n이 아닌 약수들의 합으로 나타내어 출력한다(예제 출력 참고).
이때, 약수들은 오름차순으로 나열해야 한다.
n이 완전수가 아니라면 n is NOT perfect. 를 출력한다.
Think
- i번 순환하면서 i로 나눈 것의 나머지가 0이면 리스트에 추가하고.
- 모두 순환 후 합이 해당 원소와 같으면 + 로 출력 . 아니면 is NOT PERFECT 출력.
Code
메모리 : 29380 kb
시간: 84ms
import sys
myList = []
checkList = []
col = []
while True:
a = int(sys.stdin.readline())
if a == -1:
break
myList.append(a)
for item in myList:
col = []
for i in range(1,(item)):
if (item % i) == 0:
col.append(i)
if sum(col) == item:
print(str(item)+ ' = ' + ' + '.join(map(str,col)))
else:
print(str(item) + ' is NOT perfect.')
'Baekjoon' 카테고리의 다른 글
[Baekjoon : Python] 직각삼각형 : 4153 (0) | 2020.08.05 |
---|---|
[Baekjoon : Python] 아스키 아트 : 17072 (0) | 2020.08.01 |
[Baekjoon : Python] 균형잡힌 세상: 4949 (0) | 2020.07.31 |
[Baekjoon : Python] 제로 : 10773 (0) | 2020.07.31 |
[Baekjoon : Python] Byte Coin : 17521 (0) | 2020.07.31 |
Comments