Strange numbers: Difference between revisions

Add MAD
m (Move BCPL to right location)
(Add MAD)
Line 949:
0.014545 seconds (139 allocations: 13.298 MiB, 29.39% gc time)
</pre>
 
=={{header|MAD}}==
<lang MAD> NORMAL MODE IS INTEGER
INTERNAL FUNCTION(D)
ENTRY TO PRMDGT.
DD = D
WHENEVER DD.LE.0, DD=-D
FUNCTION RETURN
0 DD.E.2 .OR. DD.E.3 .OR. DD.E.5 .OR. DD.E.7
END OF FUNCTION
INTERNAL FUNCTION(A,B)
ENTRY TO REM.
FUNCTION RETURN A-A/B*B
END OF FUNCTION
INTERNAL FUNCTION(X)
ENTRY TO STRNGE.
XX = X
LOOP WHENEVER XX.G.9
D0 = REM.(XX,10)
XX = XX/10
D1 = REM.(XX,10)
WHENEVER PRMDGT.(D0-D1), TRANSFER TO LOOP
FUNCTION RETURN 0B
END OF CONDITIONAL
FUNCTION RETURN 1B
END OF FUNCTION
 
PRINT COMMENT $ STRANGE NUMBERS $
THROUGH TEST, FOR I=100, 1, I.GE.500
TEST WHENEVER STRNGE.(I), PRINT FORMAT F, I
 
VECTOR VALUES F = $I4*$
END OF PROGRAM </lang>
{{out}}
<pre style='height:50ex;'>STRANGE NUMBERS
130
131
135
136
138
141
142
146
147
149
161
163
164
168
169
181
183
185
186
202
203
205
207
241
242
246
247
249
250
252
253
257
258
270
272
274
275
279
292
294
296
297
302
303
305
307
313
314
316
318
350
352
353
357
358
361
363
364
368
369
381
383
385
386
413
414
416
418
420
424
425
427
429
461
463
464
468
469
470
472
474
475
479
492
494
496
497</pre>
 
=={{header|Pascal}}==
2,114

edits