競プロ
競プロの問題でビットフラグの判定の問題があった。 atcoder.jp ビットフラグの判定は初見だったので各桁が0か1かを文字列から取り出して判定したが、他の人の解答を見るとどうも自分の書き方はスマートではない。 ということでスマートなビットフラグの判定…
>>> [1, 2, 3, 4][::-1] [4, 3, 2, 1] >>> "apple"[::-1] 'elppa' リストまたは文字列を[::-1]すると反転する。
5桁の数字で余った位を0埋めする場合 例: 123 を 00123と表示する。 >>> print("{:05d}.format(123)") 00123 >>> print("{:05d}".format(12345)) 12345 >>> print("{:05d}".format(123456)) 123456 上は0埋め、5桁、decimal(10進数)。 4桁なら"{:04d}".forma…
最小公倍数は最大公約数を使って簡単に求めることができるので、まず最大公約数を求める。 最大公約数 最大公約数を求める最も有名なアルゴリズムはユークリッドの互除法である。 wikipediaから引用すると、 2つの自然数a, b (a >= b)について、aのbによる剰…