REM variables: REM A-O: binary digits with A least significant and N most significant REM X: number whose binary expansion we want REM Z: running value INPUT X LET Z = X IF Z = 0 THEN GOTO 999 IF (Z/2)*2<>Z THEN LET A = 1 LET Z = (Z - A) / 2 IF (Z/2)*2<>Z THEN LET B = 1 LET Z = (Z - B) / 2 IF (Z/2)*2<>Z THEN LET C = 1 LET Z = (Z - C) / 2 IF (Z/2)*2<>Z THEN LET D = 1 LET Z = (Z - D) / 2 IF (Z/2)*2<>Z THEN LET E = 1 LET Z = (Z - E) / 2 IF (Z/2)*2<>Z THEN LET F = 1 LET Z = (Z - F) / 2 IF (Z/2)*2<>Z THEN LET G = 1 LET Z = (Z - G) / 2 IF (Z/2)*2<>Z THEN LET H = 1 REM THIS IS ALL VERY TEDIOUS LET Z = (Z - H) / 2 IF (Z/2)*2<>Z THEN LET I = 1 LET Z = (Z - I) / 2 IF (Z/2)*2<>Z THEN LET J = 1 LET Z = (Z - J) / 2 IF (Z/2)*2<>Z THEN LET K = 1 LET Z = (Z - K) / 2 IF (Z/2)*2<>Z THEN LET L = 1 LET Z = (Z - L) / 2 IF (Z/2)*2<>Z THEN LET M = 1 LET Z = (Z - M) / 2 IF (Z/2)*2<>Z THEN LET N = 1 LET Z = (Z - N) / 2 LET O = Z IF X >= 16384 THEN GOTO 114 IF X >= 8192 THEN GOTO 113 IF X >= 4096 THEN GOTO 112 IF X >= 2048 THEN GOTO 111 IF X >= 1024 THEN GOTO 110 IF X >= 512 THEN GOTO 109 IF X >= 256 THEN GOTO 108 IF X >= 128 THEN GOTO 107 REM THIS IS ALSO TEDIOUS IF X >= 64 THEN GOTO 106 IF X >= 32 THEN GOTO 105 IF X >= 16 THEN GOTO 104 IF X >= 8 THEN GOTO 103 IF X >= 4 THEN GOTO 102 IF X >= 2 THEN GOTO 101 PRINT 1 END 101 PRINT B,A END 102 PRINT C,B,A END 103 PRINT D,C,B,A END 104 PRINT E,D,C,B,A END 105 PRINT F,E,D,C,B,A END 106 PRINT G,F,E,D,C,B,A END 107 PRINT H,G,F,E,D,C,B,A END 108 PRINT I,H,G,D,E,D,C,B,A END 109 PRINT J,I,H,G,F,E,D,C,B,A END 110 PRINT K,J,I,H,G,F,E,D,C,B,A END 111 PRINT L,K,J,I,H,G,D,E,D,C,B,A END 112 PRINT M,L,K,J,I,H,G,F,E,D,C,B,A END 113 PRINT N,M,L,K,J,I,H,G,F,E,D,C,B,A END 114 PRINT O,N,M,L,K,J,I,H,G,F,E,D,C,B,A END 999 PRINT 0 REM zero is the one time we DO want to print a leading zero END