[プログラマー/python]レベル2の数字の表示



https://programmers.co.kr/learn/courses/30/lessons/12924

問題を解く


例えば、n=15の場合
1,2,3,4,5=15
2,3,4,5,6=X
3,4,5,6=X
4,5,6=15
5..=X
6..=X
7,8=15
同じ方法で繰り返し文を実行します.
その結果,n自体が1種類の+繰返し文のcnt値を実行する.

ソースコード

def solution(n):
    cnt=0
    for i in range(1, n+1):
        tmp=i
        for j in range(i+1,n+1):
            if tmp==n:
                cnt+=1
                break
            elif tmp>n:
                break
            else:
                tmp+=j
    
    return (cnt+1)
より単純なコード
def expressions(num):
    answer = 0
    for i in range(1, num + 1):
        s = 0
        while s < num:
            s += i
            i += 1
        if s == num:
            answer += 1


    return answer