Additive primes: Difference between revisions

Content deleted Content added
SqrtNegInf (talk | contribs)
Added Perl
Petelomax (talk | contribs)
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>