Часто бывает, когда нужно выполнить операцию умножения двух чисел, которые слишком велики для стандартных типов переменных в языках программирования. Тогда на помощь приходят алгоритмы из так называемой «длинной арифметики»
Ниже подан алгоритм умножения двух длинных чисел.
Числа для умножения находятся в файле «Input.txt»
Материал взят тут
var f1,f2:text; s1:string; b,i,c:integer; a:array[0..105] of integer;// количество цифр в числах begin Assign(f1,'INPUT.TXT'); Reset(f1); Assign(f2,'OUTPUT.TXT'); ReWrite(f2); c:=0; ReadLn(f1,s1); ReadLn(f1,b); close(f1); a[0]:=length(s1); for i:=1 to a[0] do a[a[0]-i+1]:=Ord(s1[i])-48; for i:=1 to a[0] do begin a[i]:=c+a[i]*b; c:=a[i] div 10; a[i]:=a[i] mod 10; end; While c>0 do begin a[0]:=a[0]+1; a[a[0]]:=c mod 10; c:=c div 10; end; if a[a[0]]=0 then Write(f2,0) else for i:=a[0] downto 1 do Write(f2,a[i]); close(f2); end.