Munchausen numbers: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add COBOL) |
|||
Line 827: | Line 827: | ||
T |
T |
||
</pre> |
</pre> |
||
=={{header|COBOL}}== |
|||
<lang cobol> IDENTIFICATION DIVISION. |
|||
PROGRAM-ID. MUNCHAUSEN. |
|||
DATA DIVISION. |
|||
WORKING-STORAGE SECTION. |
|||
01 VARIABLES. |
|||
03 CANDIDATE PIC 9(4). |
|||
03 DIGITS PIC 9 OCCURS 4 TIMES, REDEFINES CANDIDATE. |
|||
03 DIGIT PIC 9. |
|||
03 POWER-SUM PIC 9(5). |
|||
01 OUTPUT-LINE. |
|||
03 OUT-NUM PIC ZZZ9. |
|||
PROCEDURE DIVISION. |
|||
BEGIN. |
|||
PERFORM MUNCHAUSEN-TEST VARYING CANDIDATE FROM 1 BY 1 |
|||
UNTIL CANDIDATE IS GREATER THAN 6000. |
|||
STOP RUN. |
|||
MUNCHAUSEN-TEST. |
|||
MOVE ZERO TO POWER-SUM. |
|||
MOVE 1 TO DIGIT. |
|||
INSPECT CANDIDATE TALLYING DIGIT FOR LEADING '0'. |
|||
PERFORM ADD-DIGIT-POWER VARYING DIGIT FROM DIGIT BY 1 |
|||
UNTIL DIGIT IS GREATER THAN 4. |
|||
IF POWER-SUM IS EQUAL TO CANDIDATE, |
|||
MOVE CANDIDATE TO OUT-NUM, |
|||
DISPLAY OUTPUT-LINE. |
|||
ADD-DIGIT-POWER. |
|||
COMPUTE POWER-SUM = |
|||
POWER-SUM + DIGITS(DIGIT) ** DIGITS(DIGIT)</lang> |
|||
{{out}} |
|||
<pre> 1 |
|||
3435</pre> |
|||
=={{header|Cowgol}}== |
=={{header|Cowgol}}== |