黒ココアさんのメモ置き場

メモを置いたり置かなかったり

ABC336 C - Even Digits

atcoder.jp

問題

  • 整数Nが与えられます
  • 0,2,4,6,8だけが登場する整数が良い整数です
  • 小さい方からN番目の整数を求めてね

成約

  • $ 1 \leq N \leq 10^{12}$

思考

  • 成約が大きい。やだ。
  • 愚直に小さい方から1個ずつ求めていくわけではない気配
  • とりあえずサンプルの解説読んでみる
  • $0,2,4,6,8,20,22,24,26,28,…$
  • 文字が5種類しかないなら、とりあえず0~4に直してみる
  • $0,1,2,3,4,10,11,12,13,14,…$
    • あ、5進数だ

コード

import numpy as np

N = int(input())
print(int(np.base_repr(N-1,5))*2)