IDENTIFICATION DIVISION. *************************** PROGRAM-ID. FAKULT. * AUTHOR: Stefan Naumann * DATA: 27.09.2015 ENVIRONMENT DIVISION. ************************ CONFIGURATION SECTION. SOURCE-COMPUTER. IBM-PC. OBJECT-COMPUTER. IBM-PC. DATA DIVISION. ***************** WORKING-STORAGE SECTION. 01 N PIC IS 99 VALUE IS 1. 01 N-OUT PIC IS Z9. * 10^18 ist die maximal darstellbare Zahl in COBOL (74) 01 FAK PIC IS 9(18) VALUE IS 1. 01 FAK-OUT PIC IS Z(17)9. 01 N-ENDE PIC IS 99. PROCEDURE DIVISION. ********************** anfang. display "Wie weit?". accept N-ENDE. fakultaet. multiply N by FAK, ON SIZE ERROR go to size-error. move FAK to FAK-OUT. move N to N-OUT. display "N=",N-OUT, " : N!=", FAK-OUT. add 1 to N. if (N>N-ENDE) go to ende. go to fakultaet. size-error. display "Die Zahl passt nicht mehr in 10 ^ 18 Ziffern". go to ende. ende. STOP RUN.