Additive primes: Difference between revisions

Content deleted Content added
Line 627: Line 627:


def prime?(n) # P3 Prime Generator primality test
def prime?(n) # P3 Prime Generator primality test
return false unless (n | 1 == 3 if n < 5) || n.gcd(6) == 1
return false unless n > 1 && (n % 6) | 4 == 5 || n | 1 == 3
sqrt_n = Math.isqrt(n) # For Crystal < 1.2.0 use Math.sqrt(n).to_i
pc = typeof(n).new(5)
pc = typeof(n).new(5)
while pc <= sqrt_n
while pc <= Math.isqrt(n) # For Crystal < 1.2.0 use Math.sqrt(n).to_i
return false if n % pc == 0 || n % (pc + 2) == 0
return false if n % pc == 0 || n % (pc + 2) == 0
pc += 6
pc += 6