Программа на паскале, складывающая супер большие числа (при помощи строк)

Программа на паскале, складывающая супер большие числа (при помощи строк)
Гость
Ответ(ы) на вопрос:
Гость
var   s,s1:string;   a,b:array[1..100]of integer;   i,n,x,k:integer;     begin       readln(s);       readln(s1);       n:=1;        if length(s)>length(s1) then         x:=length(s)         else x:=length(s1);          for i:=1 to length(s) do          begin           val(copy(s,i,1),k,n);           a[i+x-length(s)]:=k;          end;            for i:=1 to length(s1) do          begin           val(copy(s1,i,1),k,n);           b[i+x-length(s1)]:=k;          end;       for i:=1 to length(s) do         a[i]:=a[i]+b[i];         for i:=length(s) downto 2 do         begin          a[i-1]:=a[i-1]+a[i]div 10;          a[i]:=a[i]mod 10;         end;       for i:=1 to length(s) do        write(a[i]);                         end.          
Гость
А еще можно без головной боли.... // PascalABC.NET 3.0, сборка 1111 var   a,b:BigInteger;   sa,sb:string; begin   Write('Первое слагаемое: '); Readln(sa);   if BigInteger.TryParse(sa,a)=False then Writeln('Это не целое число!')   else begin     Write('Второе слагаемое: '); Readln(sb);     if BigInteger.TryParse(sb,b)=False then Writeln('Это не целое число!')     else Writeln('Точный результат: ',a+b)     end end. Тестовое решение: Первое слагаемое: 5423323409523846095938445870434764308454095 Второе слагаемое: 7425543205430235436743455446541423534233 Точный результат: 5430748952729276331375189325881305731988328
Не нашли ответ?
Ответить на вопрос
Похожие вопросы