Additive primes: Difference between revisions
Content deleted Content added
SqrtNegInf (talk | contribs) Added Perl |
m →{{header|Phix}}: added syntax colouring the hard way |
||
Line 351: | Line 351: | ||
=={{header|Phix}}== |
=={{header|Phix}}== |
||
<!--<lang Phix>--> |
|||
<lang Phix>function additive(integer p) return is_prime(sum(sq_sub(sprint(p),'0'))) end function |
|||
<span style="color: #008080;">function</span> <span style="color: #000000;">additive<span style="color: #0000FF;">(<span style="color: #004080;">integer</span> <span style="color: #000000;">p<span style="color: #0000FF;">)</span> <span style="color: #008080;">return</span> <span style="color: #7060A8;">is_prime<span style="color: #0000FF;">(<span style="color: #7060A8;">sum<span style="color: #0000FF;">(<span style="color: #7060A8;">sq_sub<span style="color: #0000FF;">(<span style="color: #7060A8;">sprint<span style="color: #0000FF;">(<span style="color: #000000;">p<span style="color: #0000FF;">)<span style="color: #0000FF;">,<span style="color: #008000;">'0'<span style="color: #0000FF;">)<span style="color: #0000FF;">)<span style="color: #0000FF;">)</span> <span style="color: #008080;">end</span> <span style="color: #008080;">function</span> |
|||
sequence res = filter(get_primes_le(500),additive) |
|||
<span style="color: #004080;">sequence</span> <span style="color: #000000;">res</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">filter<span style="color: #0000FF;">(<span style="color: #7060A8;">get_primes_le<span style="color: #0000FF;">(<span style="color: #000000;">500<span style="color: #0000FF;">)<span style="color: #0000FF;">,<span style="color: #000000;">additive<span style="color: #0000FF;">)</span> |
|||
string r = join(shorten(apply(res,sprint),"",6)) |
|||
<span style="color: #004080;">string</span> <span style="color: #000000;">r</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">join<span style="color: #0000FF;">(<span style="color: #7060A8;">shorten<span style="color: #0000FF;">(<span style="color: #7060A8;">apply<span style="color: #0000FF;">(<span style="color: #000000;">res<span style="color: #0000FF;">,<span style="color: #7060A8;">sprint<span style="color: #0000FF;">)<span style="color: #0000FF;">,<span style="color: #008000;">""<span style="color: #0000FF;">,<span style="color: #000000;">6<span style="color: #0000FF;">)<span style="color: #0000FF;">)</span> |
|||
printf(1,"%d additive primes found: %s\n",{length(res),r})</lang> |
|||
<span style="color: #7060A8;">printf<span style="color: #0000FF;">(<span style="color: #000000;">1<span style="color: #0000FF;">,<span style="color: #008000;">"%d additive primes found: %s\n"<span style="color: #0000FF;">,<span style="color: #0000FF;">{<span style="color: #7060A8;">length<span style="color: #0000FF;">(<span style="color: #000000;">res<span style="color: #0000FF;">)<span style="color: #0000FF;">,<span style="color: #000000;">r<span style="color: #0000FF;">}<span style="color: #0000FF;">) |
|||
<!--</lang>--> |
|||
{{out}} |
{{out}} |
||
<pre> |
<pre> |