취뽀 기록

#열심히 살자 #취업 #공부

Python/[코드트리]

[코드트리] n번 반복 > 완전수

hyunnn_00 2023. 6. 27. 15:41
완전수란 자기 자신을 제외한 모든 양의 약수들을 더했을 때 자기 자신이 되는 수 입니다.

 

예를 들어  이므로 은 완전수 입니다.

주어지는 start에서 end 이내에 있는 숫자들 중 완전수가 몇 개인지 출력하는 코드를 작성해보세요.

 

 

 

 

# 변수 선언 및 입력:

start, end = tuple(map(int, input().split()))
ans = 0

for curr_num in range(start, end + 1):
    # Step 1:
    divisor_sum = 0
    for divisor in range(1, curr_num):
        if curr_num % divisor == 0:
            divisor_sum += divisor

    # Case 1:
    if divisor_sum == curr_num:
        ans += 1

print(ans)


# 나의 풀이 ------------------------------
inp = input().split(" ")
a = int(inp[0])
b = int(inp[1])


cnt = 0

for i in range(a, b + 1): # a부터 b까지의 숫자 중에서
    sum_val = 0
    for j in range(1, i): # 약수를 구하기 위해
        if i % j == 0: # j가 i의 약수이면
            sum_val += j # sum_val 값에 j를 더해서 합 구하기

    if i == sum_val: # i가 완전수이면
        cnt += 1 # cnt 변수에 1씩 추가
        
print(cnt)