Narcissistic decimal number: Difference between revisions
Content added Content deleted
(→Ruby: use 'sum' method better) |
Not a robot (talk | contribs) (Add MAD) |
||
Line 3,345: | Line 3,345: | ||
0 1 2 3 4 5 6 7 8 9 153 370 371 407 1634 8208 9474 54748 92727 93084 548834 1741725 4210818 9800817 9926315 |
0 1 2 3 4 5 6 7 8 9 153 370 371 407 1634 8208 9474 54748 92727 93084 548834 1741725 4210818 9800817 9926315 |
||
</pre> |
</pre> |
||
=={{header|MAD}}== |
|||
<syntaxhighlight lang="mad"> NORMAL MODE IS INTEGER |
|||
DIMENSION DIGIT(15) |
|||
INTERNAL FUNCTION(A,B) |
|||
ENTRY TO POWER. |
|||
R=1 |
|||
BB=B |
|||
STEP WHENEVER BB.E.0, FUNCTION RETURN R |
|||
R=R*A |
|||
BB=BB-1 |
|||
TRANSFER TO STEP |
|||
END OF FUNCTION |
|||
INTERNAL FUNCTION(NUM) |
|||
ENTRY TO NARCIS. |
|||
N=NUM |
|||
L=0 |
|||
GETDGT WHENEVER N.G.0 |
|||
NN=N/10 |
|||
DIGIT(L)=N-NN*10 |
|||
N=NN |
|||
L=L+1 |
|||
TRANSFER TO GETDGT |
|||
END OF CONDITIONAL |
|||
I=L |
|||
SUM=0 |
|||
POWSUM WHENEVER I.G.0 |
|||
I=I-1 |
|||
D=DIGIT(I) |
|||
SUM=SUM+POWER.(D,L) |
|||
TRANSFER TO POWSUM |
|||
END OF CONDITIONAL |
|||
FUNCTION RETURN SUM.E.NUM |
|||
END OF FUNCTION |
|||
CAND=0 |
|||
THROUGH SEARCH, FOR SEEN=0,1,SEEN.GE.25 |
|||
NEXT THROUGH NEXT, FOR CAND=CAND,1,NARCIS.(CAND) |
|||
PRINT FORMAT FMT,CAND |
|||
SEARCH CAND=CAND+1 |
|||
VECTOR VALUES FMT=$I10*$ |
|||
END OF PROGRAM</syntaxhighlight> |
|||
{{out}} |
|||
<pre> 0 |
|||
1 |
|||
2 |
|||
3 |
|||
4 |
|||
5 |
|||
6 |
|||
7 |
|||
8 |
|||
9 |
|||
153 |
|||
370 |
|||
371 |
|||
407 |
|||
1634 |
|||
8208 |
|||
9474 |
|||
54748 |
|||
92727 |
|||
93084 |
|||
548834 |
|||
1741725 |
|||
4210818 |
|||
9800817 |
|||
9926315</pre> |
|||
=={{header|Maple}}== |
=={{header|Maple}}== |