by@kurgm
AC
IDENTIFICATION DIVISION. PROGRAM-ID. IDEONE. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 b PIC X(100) . 01 i PIC 9(3) . 01 du PIC 9(16) VALUE 0. 01 dl PIC 9(16) VALUE 0. 01 d PIC X(31) . 01 m PIC 9(16) VALUE 1000000000000000. 01 c PIC 9 . 01 q PIC 9 . 01 r PIC 9(16) . PROCEDURE DIVISION. ACCEPT b PERFORM VARYING i FROM 1 BY 1 UNTIL i > 100 COMPUTE du = du * 2 COMPUTE dl = dl * 2 MOVE b(i:1) TO c COMPUTE dl = dl + c DIVIDE dl BY m GIVING q REMAINDER r MOVE r TO dl COMPUTE du = du + q END-PERFORM. STRING du dl(2:15) INTO d END-STRING. DISPLAY d. STOP RUN.
0010000110000101000100100100111100011101100000111100110110110101001110101000100011010011101111110010
0165982062722070016834015149042