1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
       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.
       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"
         ELSE
           DIVIDE I BY 3 GIVING DIV REMAINDER REM
           IF REM = 0 THEN
             MOVE I TO EDIT
             DISPLAY EDIT ":Fizz"
           ELSE
             DIVIDE I BY 5 GIVING DIV REMAINDER REM
             IF REM = 0 THEN
               MOVE I TO EDIT
              DISPLAY EDIT ":Buzz"
            ELSE
              MOVE I TO EDIT
              DISPLAY EDIT ":hoge"
            END-IF
          END-IF
        END-IF
      END-PERFORM
      STOP RUN.