34 lines
944 B
Plaintext
34 lines
944 B
Plaintext
100 A$ = "18446744073709551616"
|
|
110 B$ = A$
|
|
120 GOSUB 400
|
|
130 PRINT E$
|
|
140 END
|
|
|
|
400 REM MULTIPLY A$ * B$
|
|
410 C$ = "":D$ = "0"
|
|
420 FOR I = LEN (B$) TO 1 STEP - 1
|
|
430 C = 0:B = VAL ( MID$ (B$,I,1))
|
|
440 FOR J = LEN (A$) TO 1 STEP - 1
|
|
450 V = B * VAL ( MID$ (A$,J,1)) + C
|
|
460 C = INT (V / 10):V = V - C * 10
|
|
470 C$ = STR$ (V) + C$
|
|
480 NEXT J
|
|
490 IF C THEN C$ = STR$ (C) + C$
|
|
510 GOSUB 600"ADD C$ + D$
|
|
520 D$ = E$:C$ = "0":J = LEN (B$) - I
|
|
530 IF J THEN J = J - 1:C$ = C$ + "0": GOTO 530
|
|
550 NEXT I
|
|
560 RETURN
|
|
|
|
600 REM ADD C$ + D$
|
|
610 E = LEN (D$):E$ = "":C = 0
|
|
620 FOR J = LEN (C$) TO 1 STEP - 1
|
|
630 IF E THEN D = VAL ( MID$ (D$,E,1))
|
|
640 V = VAL ( MID$ (C$,J,1)) + D + C
|
|
650 C = V > 9:V = V - 10 * C
|
|
660 E$ = STR$ (V) + E$
|
|
670 IF E THEN E = E - 1:D = 0
|
|
680 NEXT J
|
|
700 IF E THEN V = VAL ( MID$ (D$,E,1)) + C:C = V > 9:V = V - 10 * C:E$ = STR$ (V) + E$:E = E - 1: GOTO 700
|
|
720 RETURN
|