AtCoder Beginner Contest

【pythonでABC206を解説】B - Savings

問題概要

問題ページ

問題文

シカのAtCoDeerくんは、空の貯金箱を持っています。
AtCoDeerくんは、その貯金箱に、\(1\) 日目の朝に \(1\) 円、\(2\) 日目の朝に \(2\) 円 \(\dots\) というように、\(i\) 日目の朝に \(i\) 円を貯金箱に入れます。
また、AtCoDeerくんは、毎日夜に貯金箱にいくら入っているかを確認します。
AtCoDeerくんが貯金箱に \(N\) 円以上入っていることを初めて確認するのは、何日目の夜でしょうか?

制約

  • \(1 \le N \le 10^9\)
  • \(N\) は整数

問題の考察

ACコード

import sys


def solve():
    input = sys.stdin.readline
    mod = 10 ** 9 + 7
    n = int(input().rstrip('\n'))
    for i in range(1, 10 ** 9):
        if (i * (1 + i) // 2) >= n:
            print(i)
            exit()


if __name__ == '__main__':
    solve()

プログラミング

-AtCoder Beginner Contest
-