IDENTIFICATION DIVISION.
PROGRAM-ID. FIZZ-BUZZ.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 I PIC 9(2) VALUE 0.
01 DIV PIC 9(2) VALUE 0.
01 REM PIC 9(2) VALUE 0.
01 EDIT PIC Z9.
01 SKIP PIC 9 VALUE 0.
PROCEDURE DIVISION.
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 20
DIVIDE I BY 15 GIVING DIV REMAINDER REM
IF REM = 0 THEN
MOVE I TO EDIT
DISPLAY EDIT ":FizzBuzz"
MOVE 1 TO SKIP
END-IF
DIVIDE I BY 3 GIVING DIV REMAINDER REM
IF REM = 0 AND SKIP = 0 THEN
MOVE I TO EDIT
DISPLAY EDIT ":Fizz"
MOVE 1 TO SKIP
END-IF
DIVIDE I BY 5 GIVING DIV REMAINDER REM
IF REM = 0 AND SKIP = 0 THEN
MOVE I TO EDIT
DISPLAY EDIT ":Buzz"
MOVE 1 TO SKIP
END-IF
IF SKIP = 0 THEN
MOVE I TO EDIT
DISPLAY EDIT ":hoge"
END-IF
MOVE 0 TO SKIP
END-PERFORM
STOP RUN.
nantan #4068() [ COBOL ] Rating1/1=1.00
お題の一部が飛んでしまっていました。すみません。書き直してみました。
IDENTIFICATION DIVISION. PROGRAM-ID. FIZZ-BUZZ. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 I PIC 9(2) VALUE 0. 01 DIV PIC 9(2) VALUE 0. 01 REM PIC 9(2) VALUE 0. 01 EDIT PIC Z9. 01 SKIP PIC 9 VALUE 0. PROCEDURE DIVISION. PERFORM VARYING I FROM 1 BY 1 UNTIL I > 20 DIVIDE I BY 15 GIVING DIV REMAINDER REM IF REM = 0 THEN MOVE I TO EDIT DISPLAY EDIT ":FizzBuzz" MOVE 1 TO SKIP END-IF DIVIDE I BY 3 GIVING DIV REMAINDER REM IF REM = 0 AND SKIP = 0 THEN MOVE I TO EDIT DISPLAY EDIT ":Fizz" MOVE 1 TO SKIP END-IF DIVIDE I BY 5 GIVING DIV REMAINDER REM IF REM = 0 AND SKIP = 0 THEN MOVE I TO EDIT DISPLAY EDIT ":Buzz" MOVE 1 TO SKIP END-IF IF SKIP = 0 THEN MOVE I TO EDIT DISPLAY EDIT ":hoge" END-IF MOVE 0 TO SKIP END-PERFORM STOP RUN.Rating1/1=1.00-0+