Edit

【pythonでABC215を解説】B - log2(N)

問題概要

問題ページ

問題文

正整数 \(N\) が与えられるので、 \(2^k \le N\) となる最大の整数 \(k\) を求めてください。

制約

  • \(N\) は \(1 \le N \le 10^{18}\) を満たす整数である

問題の考察

ACコード

import sys


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


if __name__ == '__main__':
    solve()

プログラミング

-Edit