Special neighbor primes
func special_neighbor_primes(upto) {
var list = []
upto.primes.each_cons(2, {|p1,p2|
var n = (p1 + p2 - 1)
if (n.is_prime) {
list << [p1, p2, n]
}
})
return list
}
with (100) {|n|
var list = special_neighbor_primes(n)
say "Found #{list.len} special neighbour primes < n:"
list.each_2d {|p1,p2,q|
printf(" (%2s, %2s) => %s\n", p1, p2, q)
}
}
say ''
for n in (1..7) {
var list = special_neighbor_primes(10**n)
say "Found #{list.len} special neighbour primes < 10^#{n}"
}Output:
Last updated
Was this helpful?