[プログラマー]数字の表現Lv2 - Python


[プログラマー]数字の表現Lv2
私の答え
def solution(n):
    answer = 1
    limit = n // 2 + 1
    for i in range(1, limit):
        _sum, num = 0, i
        while _sum <= n:
            _sum += num
            num += 1
            if _sum == n:
                answer += 1
                break

    return answer
  • nの半分を超える数字を合わせるとnを超えるので、演算を減らすために制限が設けられています.
  • sum変数を使用して加算結果を保存します.sumがn以下になるまで一連の数字を加算します.sumがnに等しい場合、答えに1を加え、while文は
  • を終了する.