백준 9506번 약수들의 합 (python)

마뇽미뇽·2025년 2월 2일
0

알고리즘 문제풀이

목록 보기
111/165

1. 문제

https://www.acmicpc.net/problem/9506

2. 풀이

약수들을 배열에 저장 후 약수의 합이 k와 같은 경우와 아닌 경우를 조건으로 나누어 결과를 출력한다.

3. 코드

while True:
    n = int(input())
    if n == -1:
        break

    arr = []
    sum = 0
    for i in range(1, n):
        if n % i == 0:
            arr.append(i)
            sum += i

    if sum == n:
        print(f'{n} = ',end='')
        for i in arr:
            if i != arr[-1]:
                print(f'{i} + ',end='')
            else:
                print(f'{i}')
    else:
        print(f'{n} is NOT perfect.')
profile
Que sera, sera

0개의 댓글