16 lines
347 B
Text
16 lines
347 B
Text
local function semiprime(n)
|
|
if n < 3 then return false end
|
|
local nf = 0
|
|
for i = 2, n do
|
|
while n % i == 0 do
|
|
if nf == 2 then return false end
|
|
nf += 1
|
|
n //= i
|
|
end
|
|
end
|
|
return nf == 2
|
|
end
|
|
|
|
for v = 1675, 1680 do
|
|
print($"{v} -> {semiprime(v) ? "is" : "isn't"} semi-prime")
|
|
end
|