41. 연속된 자연수의 합 (python 풀이)

Yu River·2022년 6월 16일
0

코딩테스트 연습

목록 보기
1/11

41. 연속된 자연수의 합

입력으로 양의 정수 N이 입력되면 2개 이상의 연속된 자연수의 합으로 정수 N을 표현하는 방 법의 가짓수를 출력하는 프로그램을 작성하세요.
만약 N=15이면
7+8=15
4+5+6=15
1+2+3+4+5=15
와 같이 총 3가지의 경우가 존재한다.
▣ 입력설명
첫 번째 줄에 양의 정수 N(7<=N<1000)이 주어진다.
▣ 출력설명
첫줄부터 각각의 경우의 수를 출력한다. 맨 마지막 줄에 총 개수를 출력한다.
▣ 입력예제
15
▣ 출력예제
7 + 8 = 15
4 + 5 + 6 = 15
1 + 2 + 3 + 4 + 5 = 15
3

Python

import sys
b=1
cnt=0
i = 0
a = int(sys.stdin.readline())
tmp = a
a=a-1
while a > 0 :
    b = b + 1
    a = a - b
    if(a%b == 0):
        for i in range(1, b):
            print("%d + " %(((a/b)+i)), end='')
        i = i +1
        print("%d = %d" %(((a/b)+i),tmp))
        cnt = cnt+1
print("cnt : "+str(cnt))
profile
도광양회(韜光養晦) ‘빛을 감추고 어둠속에서 힘을 기른다’

0개의 댓글