Sum of square and cube digits of an integer are primes: Difference between revisions

Content added Content deleted
(Added PL0)
(Added Algol W)
Line 45: Line 45:
<pre>
<pre>
16 17 25 28 34 37 47 52 64
16 17 25 28 34 37 47 52 64
</pre>

=={{header|ALGOL W}}==
<syntaxhighlight lang="algolw">
begin
integer procedure digitSum( integer value n ) ;
begin
integer sum, v, vOver10;
sum := 0;
v := n;
while v > 0 do begin
vover10 := v div 10;
sum := sum + ( v - ( vover10 * 10 ) );
v := vover10
end while_v_gt_0 ;
sum
end digitSum ;
logical procedure isPrime( integer value n ) ;
if n < 2 then false
else if not odd( n ) then n = 2
else begin
logical prime;
integer p;
prime := true;
p := 3;
while p * p <= n and prime do begin
prime := n rem p not = 0;
p := p + 2;
end while_p2_le_n_and_prime ;
prime
end isPrime ;
for i := 1 until 99 do begin
integer i2;
i2 := i * i;
if isPrime( digitSum( i2 ) ) then begin;
if isPrime( digitSum( i2 * i ) ) then writeon( i_w := 1, s_w := 1, i )
end
end
end.
</syntaxhighlight>
{{out}}
<pre>
16 17 25 28 34 37 47 52 64
</pre>
</pre>


Line 51: Line 94:
{{out}}
{{out}}
<pre>16 17 25 28 34 37 47 52 64</pre>
<pre>16 17 25 28 34 37 47 52 64</pre>

=={{header|Arturo}}==
=={{header|Arturo}}==