Emirp primes: Difference between revisions

adding lambdatalk task
(→‎OCaml: add)
(adding lambdatalk task)
Line 2,155:
The 10,000th Emirp prime is : 948349
</pre>
 
=={{header|Lambdatalk}}==
<syntaxhighlight lang="scheme">
{def prime
{def prime.r
{lambda {:m :n}
{if {> {* :m :m} :n}
then :n
else {if {= {% :n :m} 0}
then false
else {prime.r {+ :m 1} :n}}
}}}
{lambda {:n}
{prime.r 2 :n}
}}
-> prime
 
{def emirp
{lambda {:n}
{let { {:n :n}
{:p {prime :n}}
{:q {prime {W.reverse :n}}}
} {if {and {not {= :p :q}}
{not :p .}
{not :q .} }
then :n
else }}}}
-> emirp
 
The first 20 emirp primes are :
{S.replace \s by space in
{S.map emirp {S.serie 2 400 1}}}
-> 13 17 31 37 71 73 79 97 107 113 149 157 167 179 199 311 337 347 359 389
 
The emirp primes between 7700 and 8000 are :
{S.replace \s by space in
{S.map emirp {S.serie 7700 8000 1}}}
-> 7717 7757 7817 7841 7867 7879 7901 7927 7949 7951 7963
 
{prime 7963}
-> 7963
{emirp 3697}
-> 3697
 
{emirp 943849}
-> 943849 // it's an emirp
 
</syntaxhighlight>
 
=={{header|Lua}}==
99

edits