regular expression (regex, 正则表达)通常是用来匹配文本的, 不过这个周末看到一个
很另类的用法, 如题.
这里是一条 perl one-liner:
perl -wle 'print "Prime" if (1 x shift) !~ /^1?$|^(11+?)\1+$/' [number]
在[number]的位置放一个数, 这条语句就能判断这个数是不是质数
notes:
1) 快速生成素数的办法: 2^p - 1, p本身是素数.
e.g., 2^13-1 可以用 `dc -e '2 13^1-p'`代替
2) 我机器上perl到 2^15就会segfault
ref:
http://montreal.pm.org/tech/neil_kandalgaonkar.shtml