Factorial Calculation
Problem Description
Calculate factorial of a number (n! = 1*2*3*...*n).
Expected Output
Input: 5 -> Output: FACTORIAL = 120
Hints
Use loop multiplying result by each number.
Solution
IDENTIFICATION DIVISION.
PROGRAM-ID. FACTORIAL.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-NUM PIC 9(2).
01 WS-COUNTER PIC 9(2).
01 WS-FACTORIAL PIC 9(15) VALUE 1.
PROCEDURE DIVISION.
DISPLAY "ENTER A NUMBER: ".
ACCEPT WS-NUM.
PERFORM VARYING WS-COUNTER FROM 1 BY 1
UNTIL WS-COUNTER > WS-NUM
MULTIPLY WS-COUNTER BY WS-FACTORIAL
END-PERFORM.
DISPLAY "FACTORIAL = " WS-FACTORIAL.
STOP RUN.
Explanation:
Factorial grows quickly, use large PIC for result.