Find prime n such that reversed n is also prime: Difference between revisions
Content added Content deleted
m (reference to Emirp Primes) |
(→OCaml: add) |
||
Line 968: | Line 968: | ||
167 179 181 191 199 311 313 337 347 353 |
167 179 181 191 199 311 313 337 347 353 |
||
359 373 383 389 </pre> |
359 373 383 389 </pre> |
||
=={{header|OCaml}}== |
|||
Using the function <code>seq_primes</code> from [[Extensible prime generator#OCaml]]: |
|||
<syntaxhighlight lang="ocaml">let int_reverse = |
|||
let rec loop m n = |
|||
if n < 10 then m + n else loop ((m + n mod 10) * 10) (n / 10) |
|||
in loop 0 |
|||
let is_prime n = |
|||
let not_divisible x = n mod x <> 0 in |
|||
seq_primes |> Seq.take_while (fun x -> x * x <= n) |> Seq.for_all not_divisible |
|||
let () = |
|||
seq_primes |> Seq.filter (fun p -> is_prime (int_reverse p)) |
|||
|> Seq.take_while ((>) 500) |> Seq.iter (Printf.printf " %u") |> print_newline</syntaxhighlight> |
|||
{{out}} |
|||
<pre> 2 3 5 7 11 13 17 31 37 71 73 79 97 101 107 113 131 149 151 157 167 179 181 191 199 311 313 337 347 353 359 373 383 389</pre> |
|||
=={{header|Perl}}== |
=={{header|Perl}}== |