Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
20
Task/Lucas-Lehmer-test/CoffeeScript/lucas-lehmer-test.coffee
Normal file
20
Task/Lucas-Lehmer-test/CoffeeScript/lucas-lehmer-test.coffee
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
sorenson = require('sieve').primes # Sorenson's extensible sieve from task: Extensible Prime Number Generator
|
||||
|
||||
# Test if 2^n-1 is a Mersenne prime.
|
||||
# assumes that the argument p is prime.
|
||||
#
|
||||
isMersennePrime = (p) ->
|
||||
if p is 2 then yes
|
||||
else
|
||||
n = (1n << BigInt p) - 1n
|
||||
s = 4n
|
||||
s = (s*s - 2n) % n for _ in [1..p-2]
|
||||
s is 0n
|
||||
|
||||
primes = sorenson()
|
||||
mersennes = []
|
||||
while (p = primes.next().value) < 3000
|
||||
if isMersennePrime(p)
|
||||
mersennes.push p
|
||||
|
||||
console.log "Some Mersenne primes: #{"M" + String p for p in mersennes}"
|
||||
Loading…
Add table
Add a link
Reference in a new issue