Sum of square and cube digits of an integer are primes: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add FOCAL) |
Not a robot (talk | contribs) (Add MAD) |
||
Line 287: | Line 287: | ||
println(filter(is_sqcubsumprime, 1:100)) # [16, 17, 25, 28, 34, 37, 47, 52, 64] |
println(filter(is_sqcubsumprime, 1:100)) # [16, 17, 25, 28, 34, 37, 47, 52, 64] |
||
</lang> |
</lang> |
||
=={{header|MAD}}== |
|||
<lang MAD> NORMAL MODE IS INTEGER |
|||
BOOLEAN PRIME |
|||
DIMENSION PRIME(100) |
|||
PRIME(0)=0B |
|||
PRIME(1)=0B |
|||
THROUGH SET, FOR P=2, 1, P.G.100 |
|||
SET PRIME(P)=1B |
|||
THROUGH SIEVE, FOR P=2, 1, P*P.G.100 |
|||
THROUGH SIEVE, FOR C=P*P, P, C.G.100 |
|||
SIEVE PRIME(C)=0B |
|||
THROUGH CHECK, FOR I=1, 1, I.GE.100 |
|||
WHENEVER .NOT.PRIME(DIGSUM.(I*I)), TRANSFER TO CHECK |
|||
WHENEVER .NOT.PRIME(DIGSUM.(I*I*I)), TRANSFER TO CHECK |
|||
PRINT FORMAT FMT, I |
|||
CHECK CONTINUE |
|||
INTERNAL FUNCTION(N) |
|||
ENTRY TO DIGSUM. |
|||
SUM=0 |
|||
NN=N |
|||
LOOP WHENEVER NN.G.0 |
|||
NXT=NN/10 |
|||
SUM=SUM+NN-NXT*10 |
|||
NN=NXT |
|||
TRANSFER TO LOOP |
|||
END OF CONDITIONAL |
|||
FUNCTION RETURN SUM |
|||
END OF FUNCTION |
|||
VECTOR VALUES FMT = $I2*$ |
|||
END OF PROGRAM </lang> |
|||
{{out}} |
|||
<pre>16 |
|||
17 |
|||
25 |
|||
28 |
|||
34 |
|||
37 |
|||
47 |
|||
52 |
|||
64</pre> |
|||
=={{header|Perl}}== |
=={{header|Perl}}== |