Sum of square and cube digits of an integer are primes: Difference between revisions
Content added Content deleted
(→{{header|jq}}: def digits:) |
(Added PL0) |
||
Line 545: | Line 545: | ||
</pre> |
</pre> |
||
=={{header|PL/0}}== |
|||
<syntaxhighlight lang="pascal"> |
|||
const maxnumber = 99; |
|||
var n, sum, prime, i, i2, i3; |
|||
procedure sumdigitsofn; |
|||
var v, vover10; |
|||
begin |
|||
sum := 0; |
|||
v := n; |
|||
while v > 0 do begin |
|||
vover10 := v / 10; |
|||
sum := sum + ( v - ( vover10 * 10 ) ); |
|||
v := vover10 |
|||
end |
|||
end; |
|||
procedure isnprime; |
|||
var p; |
|||
begin |
|||
prime := 1; |
|||
if n < 2 then prime := 0; |
|||
if n > 2 then begin |
|||
prime := 0; |
|||
if odd( n ) then prime := 1; |
|||
p := 3; |
|||
while p * p <= n * prime do begin |
|||
if n - ( ( n / p ) * p ) = 0 then prime := 0; |
|||
p := p + 2; |
|||
end |
|||
end |
|||
end; |
|||
begin |
|||
i := 0; |
|||
while i <= maxnumber do begin |
|||
i := i + 1; |
|||
i2 := i * i; |
|||
n := i2; |
|||
call sumdigitsofn; |
|||
n := sum; |
|||
call isnprime; |
|||
if prime = 1 then begin |
|||
n := i2 * i; |
|||
call sumdigitsofn; |
|||
n := sum; |
|||
call isnprime; |
|||
if prime = 1 then ! i |
|||
end |
|||
end |
|||
end. |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
16 |
|||
17 |
|||
25 |
|||
28 |
|||
34 |
|||
37 |
|||
47 |
|||
52 |
|||
64 |
|||
</pre> |
|||
=={{header|Python}}== |
=={{header|Python}}== |