世界のナベアツ問題
http://q.hatena.ne.jp/1207585413
http://b.hatena.ne.jp/entry/http://q.hatena.ne.jp/1207585413
「文字列比較はスマートでない」と思っている人が割といるみたい。
「10進数のいずれかの桁に3が含まれる」というのは
(ただしは0から9までの整数) について、のうち少なくとも1つは3に等しい
ということを言っているにすぎないので、結局の値を総当たりでチェックすることになる。繰り返し10で割って余りを調べるのも、各桁の文字列比較をするのも、やってることは総当たりチェックなので、本質的には同じこと。
まぁ、要は↓のはてブコメントと同じことを数式を使って言ってるだけです。
倍数と違って「3がつく」は十進表現限定の問題だから、10で割って桁ごとに見るでもいいし、十進表現に変換する=文字列化も同じくらい自然