홍우진의 개발 일기장

[백준] 2231번: 분해합 / 파이썬 본문

알고리즘/백준

[백준] 2231번: 분해합 / 파이썬

홍우진 2024. 11. 30. 12:18
728x90
반응형

문제 링크


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

 

풀이 코드


N = int(input()) 

for i in range(1, N):   #생성자를 1부터 조건에 맞을때까지 카운팅
    B = i + sum(map(int,str(i)))    #분해합 = 생성자 + 합(생성자 각 자릿수 분해)
    if B == N:  #분해합이 자연수와 같다면 생성자 출력
        print(i)    
        break
else:   #생성자가 없으니 0 출력
    print(0)

코드 해석


N의 생성자를 구하기 위해

N보다 작은 모든 자연수의 분해합을 하나씩 구하다

분해합이 N과 같으면 그 수를 출력.

728x90
반응형
Comments