|
发表于 2004-4-21 20:29:17
|
显示全部楼层
有趣,有趣。
我来分析一下吧:
perl -le 'print " RIME" if (1 x shift) !~ /^(11+)\1+$/' 19
1、先看shift:shift = shift @_ = 19
2、(1 x shift):x 是字符串运算符,1 x 19 = "1111111111111111111",共19个1。
3、再看/^(11+)\1+$/:这里的\1 就是前面的(11+),这个正则表达式是用来判断前面的"111111……11111",能否被长度大于一的子串等分。如果不是(!~),就证明它是素数,那就print " RIME"。
就是这样。 |
|