Jump to content

Sum of the digits of n is substring of n: Difference between revisions

Add MAD
(Add Cowgol)
(Add MAD)
Line 343:
912 913 914 915 916 917 918 919
</pre>
 
=={{header|MAD}}==
<lang MAD> NORMAL MODE IS INTEGER
INTERNAL FUNCTION(A,B)
ENTRY TO REM.
FUNCTION RETURN A-A/B*B
END OF FUNCTION
INTERNAL FUNCTION(X)
ENTRY TO DSUM.
TEMP = X
SUM = 0
SUML WHENEVER TEMP.NE.0
SUM = SUM + REM.(TEMP,10)
TEMP = TEMP / 10
TRANSFER TO SUML
END OF CONDITIONAL
FUNCTION RETURN SUM
END OF FUNCTION
INTERNAL FUNCTION(X)
ENTRY TO DELFST.
FDGT = 1
SIZE WHENEVER FDGT.LE.X
FDGT = FDGT * 10
TRANSFER TO SIZE
END OF CONDITIONAL
FUNCTION RETURN REM.(X,FDGT/10)
END OF FUNCTION
INTERNAL FUNCTION(N,H)
ENTRY TO INFIX.
WHENEVER N.E.H, FUNCTION RETURN 1B
PFX = H
PFXL WHENEVER PFX.NE.0
SFX = PFX
SFXL WHENEVER SFX.NE.0
WHENEVER SFX.E.N, FUNCTION RETURN 1B
SFX = DELFST.(SFX)
TRANSFER TO SFXL
END OF CONDITIONAL
PFX = PFX/10
TRANSFER TO PFXL
END OF CONDITIONAL
FUNCTION RETURN 0B
END OF FUNCTION
THROUGH SHOW, FOR I=0, 1, I.GE.1000
WHENEVER INFIX.(DSUM.(I),I)
PRINT FORMAT FMT, I
END OF CONDITIONAL
SHOW CONTINUE
 
VECTOR VALUES FMT = $I3*$
END OF PROGRAM </lang>
{{out}}
<pre style='height:50ex;'> 0
1
2
3
4
5
6
7
8
9
10
20
30
40
50
60
70
80
90
100
109
119
129
139
149
159
169
179
189
199
200
300
400
500
600
700
800
900
910
911
912
913
914
915
916
917
918
919</pre>
 
=={{header|Phix}}==
2,114

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.