이거 근데 우분투 놋북이 뭐가 불만인지 키보드가 안먹히데...
커널 올려줘도 난리여...
안그래도 오늘 진상 만나서 힘들었는데 너까지 왜그러냐...
import sys
a = int(sys.stdin.readline())
yaksu = []
for i in range(1,a+1):
if a % i == 0:
yaksu.append(i)
yaksu_text = ''.join(str(yaksu))
print('{}의 약수는 {}입니다. '.format(a,yaksu_text))
if sum(yaksu) == 2 * a:
print('{}는 자기 자신을 제외한 약수들의 합이 {}와 동일하므로 완전수입니다. '.format(a,a))
전체 코드는 뜯어보고 자시고 할 것도 없음. 완전수는 자기 자신을 제외한 모든 약수들을 더했을 때 자기 자신이 나와야 완전수이고 6과 28이 대표적인 완전수임. (1+2+3=6, 1+2+4+7+14=28) 여기까지만 봤을 때 그래서 곱하기 2를 넣은건가? 하고 감이 오시는 분도 계시겠지만 자기 자신을 제외하고 자기 자신과 합이 같다=모든 약수를 더했을 때 합이 자기 자신의 두 배라는 얘기임. 즉 6은 1+2+3+6=12(6+6=12), 28은 1+2+4+7+14+28=56(1+2+4+7+14=28)이라는 얘기. 참 쉽죠?
로직 자체는 쉬워요 갑자기 키보드가 안먹어서 글치...
진지하게 다음달에 월급타면 놋북 알아봐야 하나 고민했음... 이거 셋업도 귀찮은데.
'Coding > Python' 카테고리의 다른 글
워드클라우드 코드에 기능 추가 (0) | 2022.08.22 |
---|---|
List comprehension (0) | 2022.08.22 |
Project restriction enzyme: 패치노트 (0) | 2022.08.22 |
Cutter, Finder 공통 패치: FASTA 파일 불러오는 기능 (0) | 2022.08.22 |
Finder 기능추가: 정규식 도입 (0) | 2022.08.22 |