This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const MAX_NUMBER = 10 ** 9; | |
let cnt = 0 | |
function isPrime(num) { | |
if (num === 2) { | |
return true; | |
} | |
if (num < 2 || num % 2 === 0) { | |
return false; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import math | |
import time | |
import six | |
if six.PY2: | |
# In python2, range returns a list instead of an iterator. When running on a large range, | |
# this can take up all of the available memory and crash the process. | |
range = xrange | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import kotlin.math.pow | |
object PrimeMainComplex { | |
class PrimeChecker(i: Int) { | |
companion object { var zero = 0 } | |
var num = 0 | |
var self: PrimeChecker | |
init { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.math.BigInteger; | |
public class PrimeMainMR { | |
public static int cnt = 0; | |
// this is the RabinMiller test, deterministically correct for n < 341,550,071,728,321 | |
// http://rosettacode.org/wiki/Miller-Rabin_primality_test#Python:_Proved_correct_up_to_large_N | |
public static boolean isPrime(BigInteger n, int precision) { | |
if (n.compareTo(new BigInteger("341550071728321")) >= 0) { |