fork download
  1. IDENTIFICATION DIVISION.
  2. PROGRAM-ID. EUCLID-GCD.
  3.  
  4. DATA DIVISION.
  5. WORKING-STORAGE SECTION.
  6. 01 NUM1 PIC 9(03) VALUE 48.
  7. 01 NUM2 PIC 9(03) VALUE 18.
  8. 01 REMAINDER-VAR PIC 9(03).
  9. 01 QUOTIENT-VAR PIC 9(03). *> Added for clarity, though not directly used
  10.  
  11. PROCEDURE DIVISION.
  12. MAIN-LOGIC.
  13. DISPLAY "ユークリッドの互除法をします。"
  14. DISPLAY "初めの数: " NUM1
  15. DISPLAY "次の数: " NUM2
  16.  
  17. PERFORM UNTIL NUM2 = 0
  18. DIVIDE NUM1 BY NUM2
  19. GIVING QUOTIENT-VAR
  20. REMAINDER REMAINDER-VAR
  21. END-DIVIDE
  22. MOVE NUM2 TO NUM1
  23. MOVE REMAINDER-VAR TO NUM2
  24. END-PERFORM.
  25.  
  26. DISPLAY "最大公約数 (GCD) は: " NUM1
  27. STOP RUN.
Success #stdin #stdout 0.01s 5324KB
stdin
722 171
stdout
ユークリッドの互除法をします。
初めの数: 048
次の数: 018
最大公約数 (GCD) は: 006