21 lines
563 B
Text
21 lines
563 B
Text
local bigint = require "pluto:bigint"
|
|
local int = require "int"
|
|
local fmt = require "fmt"
|
|
|
|
local primes = int.primes(379)
|
|
local primorial = bigint.new(1)
|
|
local fortunates = {}
|
|
for primes as prime do
|
|
primorial *= prime
|
|
local j = 3
|
|
while true do
|
|
if (primorial + j):isprobableprime(15) then
|
|
fortunates:insert(j)
|
|
break
|
|
end
|
|
j += 2
|
|
end
|
|
end
|
|
fortunates = fortunates:dedup():reorder():sort()
|
|
print("After sorting, the first 50 distinct fortunate numbers are:")
|
|
fmt.tprint("%3s", fortunates:slice(1, 50), 10)
|