900 REM +-----------------------------+ 901 REM ! (c) Olle Bliding (2182) ! 902 REM ! Brokadgatan 2 ! 903 REM ! 510 54 Br{mhult ! 904 REM ! Tel 033/41185 (82-11-19) ! 905 REM ! [ndrat av G|ran Olsson ! 906 REM +-----------------------------+ 907 DIM G$=120%,H$=120%,B%(120%),A%(241%),C%(241%) 908 ; CHR$(12)"Multiplicering av stora ""hel""tal som" : ; "ber{knas exakt utan avrundningsfel!" 909 ; 'Max 120 tecken l}nga tal.' 910 ONERRORGOTO 915 : ; : ; "Ge f|rsta faktorn "; : INPUT G$ : G%=LEN(G$) 911 IF G%=0% THEN 952 912 FOR I%=1% TO G% : IF INSTR(1,'0123456789',MID$(G$,I%,1))=0 THEN 914 ELSE NEXT I% 913 GOTO 916 914 G%=VAL(MID$(G$,I%,1)) 915 ; CHR$(7) : ; 'FEL'ERRCODE; : GOTO 910 916 ONERRORGOTO 921 : ; : ; "Ge andra faktorn "; : INPUT H$ : H%=LEN(H$) 917 IF H%=0% THEN 952 918 FOR I%=1% TO H% : IF INSTR(1,'0123456789',MID$(H$,I%,1))=0 THEN 920 ELSE NEXT I% 919 GOTO 922 920 H%=VAL(MID$(H$,I%,1)) 921 ; CHR$(7) : ; 'FEL'ERRCODE; : GOTO 916 922 ONERRORGOTO 0 923 IF G%>=12% AND H%>=12% OR G%+H%>=35% THEN ; : ; 'DET H[R TAR LITE TID' : ; 924 J%=0% 925 FOR I%=G% TO 1% STEP -1% 926 J%=J%+1% 927 A%(I%)=VAL(MID$(G$,J%,1%)) 928 NEXT I% 929 J%=0% 930 FOR I%=H% TO 1% STEP -1% 931 J%=J%+1% 932 B%(I%)=VAL(MID$(H$,J%,1%)) 933 NEXT I% 934 FOR I%=1% TO G%+H%-1% 935 FOR J%=1% TO H% 936 IF I%-J%<0% THEN 939 937 C%(I%)=C%(I%)+B%(J%)*A%(I%-J%+1%) 938 IF C%(I%)>9% C%(I%+1%)=C%(I%+1%)+INT(C%(I%)/10%) : C%(I%)=C%(I%)-INT(C%(I%)/10%)*10% 939 NEXT J% 940 NEXT I% 941 OUT 6,55 942 ; : ; 'SVARET [R:' 943 FOR I%=G% TO 1% STEP -1% : ; CHR$(48%+A%(I%)); : NEXT I% : ; : ; "***" 944 FOR I%=H% TO 1% STEP -1% : ; CHR$(48%+B%(I%)); : NEXT I% : ; : ; "===" 945 OUT 6,247 946 FOR I%=G%+H% TO 1% STEP -1% 947 IF N% 949 948 IF C%(I%) N%=1% ELSE 950 949 ; CHR$(48%+C%(I%)); 950 NEXT I% 951 OUT 6,0 952 ; : ; : ; 'Vill du g|ra fler utr{kningar. Svara' : ; 'JA eller NEJ '; : INPUT X$ 953 IF X$='' X$='J' 954 X$=LEFT$(X$,1) 955 X%=INSTR(1,'JjNn',X$) 956 ON X%+1% GOTO 952,959,959,965,965 959 FOR I%=1% TO G%+H%+1% 960 IF I%<=100% THEN B%(I%)=0% 961 A%(I%)=0% : C%(I%)=0% 962 NEXT I% 963 N%=0% 964 GOTO 908 965 ; : ; : ; 'Tack f|r i dag !!!' : END