Ruby isPrime方法

24 ruby regex primes

('1' * N) !~ /^1?$|^(11+?)\1+$/
Run Code Online (Sandbox Code Playgroud)

在网上,我发现这条适用于N> = 0的Ruby代码确定N是否为素数.从我所知道的,它看起来像玩正则表达式,但我不知道它是如何工作的.有人能告诉我它是如何工作的吗?

Tre*_*oke 20

这可能相当偏离主题,但在Ruby 1.9中,您可以这样做:

 require 'mathn'
 38749711234868463.prime?
 => false
Run Code Online (Sandbox Code Playgroud)