Strange numbers: Difference between revisions

Add COBOL
(Add COBOL)
Line 554:
425 427 429 461 463 464 468 469 470 472
474 475 479 492 494 496 497</pre>
 
=={{header|COBOL}}==
<lang cobol> IDENTIFICATION DIVISION.
PROGRAM-ID. STRANGE-NUMBERS.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 COMPUTATION.
02 NUM PIC 999.
02 DIGITS REDEFINES NUM PIC 9 OCCURS 3 TIMES.
02 DIGIT-PRIME PIC 9.
88 PRIME VALUES 2 3 5 7.
02 CUR-DIGIT PIC 9.
01 OUTPUT-FORMAT.
02 N-OUT PIC ZZ9.
PROCEDURE DIVISION.
BEGIN.
PERFORM STRANGE-TEST
VARYING NUM FROM 100 BY 1
UNTIL NUM IS GREATER THAN 500.
STOP RUN.
STRANGE-TEST SECTION.
BEGIN.
SET CUR-DIGIT TO 1.
STEP.
IF DIGITS(CUR-DIGIT) IS LESS THAN DIGITS(CUR-DIGIT + 1)
SUBTRACT DIGITS(CUR-DIGIT + 1) FROM DIGITS(CUR-DIGIT)
GIVING DIGIT-PRIME
ELSE
SUBTRACT DIGITS(CUR-DIGIT) FROM DIGITS(CUR-DIGIT + 1)
GIVING DIGIT-PRIME.
IF PRIME NEXT SENTENCE ELSE GO TO DONE.
ADD 1 TO CUR-DIGIT.
IF CUR-DIGIT IS LESS THAN 3 GO TO STEP.
MOVE NUM TO N-OUT.
DISPLAY N-OUT.
DONE. EXIT.</lang>
{{out}}
<pre style='height:50ex;'>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|F_Sharp|F#}}==
2,114

edits