17 lines
380 B
Text
17 lines
380 B
Text
func is_long_prime(p) {
|
|
|
|
for d in (divisors(p-1)) {
|
|
if (powmod(10, d, p) == 1) {
|
|
return (d+1 == p)
|
|
}
|
|
}
|
|
|
|
return false
|
|
}
|
|
|
|
say "Long primes ≤ 500:"
|
|
say primes(500).grep(is_long_prime).join(' ')
|
|
|
|
for n in ([500, 1000, 2000, 4000, 8000, 16000, 32000, 64000]) {
|
|
say ("Number of long primes ≤ #{n}: ", primes(n).count_by(is_long_prime))
|
|
}
|