Jump to content

Safe primes and unsafe primes: Difference between revisions

m
→‎{{header|Phix}}: use get_prime() builtin
m (Minor edit to C++ code)
m (→‎{{header|Phix}}: use get_prime() builtin)
Line 1,315:
 
=={{header|Phix}}==
<lang Phix>sequence safe = {}, unsafe = {}
using [[Extensible_prime_generator#Phix]]
procedurefunction filter_range(integer lo, hi)
<lang Phix>while sieved<10_000_000 do
add_block()while true do
integer p = primes[i]get_prime(lo)
end while
if p>hi then return lo end if
sequence safe = {}, unsafe = {}
procedure filter_range(integer lo, hi)
for i=lo to hi do
integer p = primes[i]
if p>2 and is_prime((p-1)/2) then
safe &= p
Line 1,328 ⟶ 1,325:
unsafe &= p
end if
end for lo += 1
end procedurewhile
end function
integer klo = abs(binary_searchfilter_range(1,1_000_000,primes)),
l = abs(binary_search(10_000_000,primes))
ls = length(safe),
filter_range(1,k-1)
integer ls = length(safe), lu = length(unsafe)
{} = filter_range(klo,l-110_000_000)
printf(1,"The first 35 safe primes: %sv\n",{sprint(safe[1..35])})
printf(1,"Count of safe primes below 1,000,000: %,d\n",ls)
printf(1,"Count of safe primes below 10,000,000: %,d\n",length(safe))
printf(1,"The first 40 unsafe primes: %sv\n",{sprint(unsafe[1..40])})
printf(1,"Count of unsafe primes below 1,000,000: %,d\n",lu)
printf(1,"Count of unsafe primes below 10,000,000: %,d\n",length(unsafe))</lang>
7,813

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.