2010.07.23 [years ago today]
# 正規表現で素数判定
「NO!と言えるようになりたい」から。
例えばRubyで関数を書くなら、
def is_prime(n) ("A" * n) !~ /^A?$|^(AA+?)\1+$/ end
てな感じで素数が判定できるという話。
これよくできてるなぁ。0~3は自明として(0と1は「^A?$」部分で引っかけて、2と3は全く引っかけない)、実質的には4からを「^(AA+?)\1+$」部分で判定してるのね。
まずは与えられた数字を、その数字の長さを持った文字列に置き換える。 例えば"4"なら"AAAA"、"9"なら"AAAAAAAAA"。 あとはそれが、"AA"の繰り返しで表現できるなら2で割り切れる、"AAA"の繰り返しで表現できるなら"3"で割り切れる…、としていって、最後まで"AAA...."の繰り返しで表現できなかったやつが素数だ、という。 頭いいなー。
おかもとまりは、アイドルリーグが無駄だよね。<br>もっと、まとも<br>な売り出し方があると思う。
アイドルリーグ始まった頃は他のメンバーと同様にあんた誰?状態だったからなあ