■ 9506번 약수들의 합 문제
■ 코드 풀이
크게 어렵지 않은 코드입니다. -1이 입력되기 전까지는 계속 while문을 반복하며, 숫자를 입력받습니다. 그리고 자기 자신을 제외한 약수들을 num_list에 저장합니다. 그리고 약수의 합을 total 변수에 저장합니다. 반복문이 끝나면, 문제에서 제시한 출력 양식에 맞춰 출력하면 됩니다.
while True:
num_list = []
total = 0
n = int(input())
if n == -1:
break
for i in range(1, n//2+1):
if n % i == 0:
num_list.append(i)
total += i
if total == n:
temp = ' + '.join(str(i) for i in num_list)
print(n, '=', temp)
else:
print('{} is NOT perfect.'.format(n))
혹시 for문의 range 상한 값에 n//2+1이 왜 들어가는지 이해가 안 가신다면 아래 링크를 참고해 주세요.
[백준/Python] 2501번 약수 구하기 문제
■ 2501번 약수 구하기 문제 ■ 코드 풀이 두 가지 풀이법을 공유드리겠습니다. 처음 제가 푼 코드와 업그레이드한 코드입니다. 먼저 아래는 기본적으로 누구나 생각할 수 있는 코드입니다. 아래
kevinitcoding.tistory.com
'코딩 테스트 > Python_백준' 카테고리의 다른 글
[백준/Python] 2581번 소수 문제 (0) | 2023.04.15 |
---|---|
[백준/Python] 1978번 소수 찾기 문제 (0) | 2023.04.14 |
[백준/Python] 5086번 배수와 약수 문제 (0) | 2023.04.12 |
[백준/Python] 2501번 약수 구하기 문제 (0) | 2023.04.12 |
[백준/Python] 10757번 큰 수 A+B 문제 (2) | 2023.04.11 |
댓글