びっくりした!クレジットカード番号はランダムに見えて実は一定の規則に従っているということを知った。 Djangoのソースを読んでいたら、オンラインストアなどを作る人のために、ユーザが入力したクレジットカード番号が正しいものかどうかを確認する方法がのっていた。 クレジットカード番号の後ろから数えて*1奇数桁だけを合計する。 クレジットカード番号の後ろから数えて偶数桁を2倍して合計する。2倍して10以上になるときは9を引く。 1と2の数字を合計する 正しいカード番号ならこの合計が10で割り切れる。 試しに自分の持ってるカードでやってみたけど、確かにこのルールに従った番号がついてる。オンライン決済するようなWebアプリをつくるひとは、あらかじめ番号をチェックしてあからさまな偽カード番号については、カード会社に照会しないようにするといいみたい。 一瞬合コン向けのゲームとかに応用(「もし10で割り切