Python

Pythonの組み込み実装のROT13を読む。

アルファベットを任意の文字数ずらした暗号をシーザー暗号という。 シーザー暗号の中で13文字ずらしたものをとくにROT13と呼ぶ。 PythonではこのROT13が言語に組み込み実装として存在しており、thisモジュールはこのROT13でエンコードされている。 >>> print…

Pythonで16進文字列をintに変換

16進文字列からint 基数を指定してintにパースすればいい。 >>> s = 'abcdef' >>> print int(s, 16) 11259375 ちなみにインタラクティブシェルなら0xからはじめた16進文字列を入力すれば10進数にしたものを返してくれる。 >>> 0xdeadbeef 3735928559 intから…

数学の粘度のやつ

はじめに 学校でS先生からマーティン・ガードナーの最難問というものを紹介された。問題の概要は次の通り。 ある数の粘度は、すべての桁を掛けて出る答えが1桁になるまでにかかる積算の回数で表す。それぞれの桁の数を掛け算して出るのが2番目の数で、そのま…