正規表現で素数判定(Python編)

正規表現マッチングによる素数判定


正規表現で素数判定ができるとは思いませんでした。

Python で書いてる人を探してみたのですが、なかったので書いてみます。

#!/usr/bin/python
import sys,re

r = re.compile('^(..+)\\1+$')
N = int(sys.argv[1])

for i in xrange(2,N):
    if not r.match('x' * i):
        print i


滅茶苦茶遅くて実用性ゼロですが。