1000 INPUT 'INSTRUCTIONS';A$ 1010 IF A$='NO' THEN 1140 ELSE IF A$='END' THEN 2400 1020 PRINT 'TO END PROGRAM TYPE "END" WHEN IT ASKS "OPERATION?"' 1030 PRINT 'THIS PROGRAM CAN MULTIPLY, AND ADD INTEGERS OF UP TO 100 1040 PRINT 'DIGITS. IT CAN ALSO DIVIDE AN INTEGER OF UP TO 100 DIGITS 1050 PRINT 'BY AN INTEGER OF NOT MORE THAN 8 DIGITS. 1060 PRINT 'WHEN YOU ARE ASKED FOR THE OPERATION, TYPE DIVIDE, MULT, OR 1070 PRINT 'ADD FOR WHICH EVER ONE YOU DESIRE TO USE, WHEN YOU ARE 1080 PRINT 'ASKED FOR YOUR NUMBERS, YOU MUST INPUT THEM IN GROUPS 1090 PRINT 'OF 3 DIGITS. FOR EXAMPLE: THE NUMBER 89404372489 WOULD 1100 PRINT 'BE INPUTED AS 089,404,372,480. IF YOU ARE DIVIDING, 1110 PRINT 'INPUT YOUR FIRST NUMBER AS JUST DESCRIBED, BUT WHEN ASKED 1120 PRINT 'FOR THE DIVISOR, JUST TYPE THE NUMBER AS WITH A REGULAR 1130 PRINT 'INPUT 1140 A%=0% 1150 REM ***** LRGNUM ***** MATHEMATICS PROGRAM ***** 1160 REM ***** VERSION 1 ***** 7/31/69 ***** 1170 REM LARGE NUMBER ARITHMETIC 1180 DIM A(101),B(101),C(201),X(101) 1190 MAT Z=ZER 1200 MAT A=ZER 1210 MAT B=ZER 1220 MAT C=ZER 1230 INPUT'OPERATION';B$:IFB$='DIVIDE'ORB$='MULT'ORB$='ADD'THEN1250ELSEIFB$='END'THEN2400ELSE1230 1240 REM READ \ PRINT A,B 1250 GOSUB 1970 1260 GOSUB 2170 1270 FOR I=1 TO L+1 1280 A(I)=C(I) 1290 NEXT I 1300 L1=L 1310 PRINT 1320 IF B$='DIVIDE' THEN 1760 1330 IF B$='MULT' THEN 1360 1340 PRINT "PLUS" 1350 GOTO 1370 1360 PRINT "TIMES" 1370 PRINT 1380 GOSUB 1970 1390 GOSUB 2170 1400 FOR I=1 TO L 1410 B(I)=C(I) 1420 NEXT I 1430 L2=L 1440 PRINT 1450 PRINT "EQUALS" 1460 PRINT 1470 IF B$='ADD' THEN 1610 1480 REM C=A*B 1490 L=L1+L2 1500 MAT C=ZER 1510 FOR I=1 TO L1 1520 FOR J=1 TO L2 1530 K=I+J-1 1540 C(K)=C(K)+A(I)*B(J) 1550 NEXT J 1560 NEXT I 1570 REM CARRY\PRINT ANSWER 1580 GOSUB 2070 1590 GOSUB 2170 1600 GOTO 1140 1610 REM C=A+B 1620 IF L10 THEN 1930 1910 L=L-1 1920 GOTO 1890 1930 GOSUB 2170 1940 PRINT 1950 PRINT "WITH REMAINDER = "Y1 1960 GOTO1140 1970 IF A%=1% THEN 2000 ELSE PRINT'INPUT FIRST NUMBER'; 1980 MAT INPUT X:A%=1% 1990 GOTO 2020 2000 PRINT 'INPUT SECOND NUMBER'; 2010 MAT INPUT X 2020 L=NUM 2030 FOR I=1 TO L 2040 C(I)=X(L-I+1) 2050 NEXT I 2060 RETURN 2070 REM CARRY IN C 2080 FOR I=1 TO L 2090 X=C(I) 2100 Y=INT(X/1000) 2110 C(I)=X-1000*Y 2120 C(I+1)=C(I+1)+Y 2130 NEXT I 2140 IF Y=0 THEN 2160 2150 L=L+1 2160 RETURN 2170 REM PRINT C 2180 F8=-1 2190 FOR I=LTO 1 STEP -1 2200 X=C(I) 2210 Q=100 2220 FOR J=1 TO 3 2230 Y=INT(X/Q) 2240 X=X-Q*Y 2250 Q=Q/10 2260 IF F8=0 THEN 2290 2270 IF Y=0 THEN 2370 2280 F8=0 2290 PRINT Y; 2300 NEXT J 2310 IF F8<0 THEN 2340 2320 IF I=1 THEN 2350 2330 PRINT', '; 2340 NEXT I 2350 PRINT 2360 RETURN 2370 PRINT ' 0 '; 2380 GOTO 2300 2390 GOTO1000 2400 END