Программка на паскале, складывающая супер великие числа (при поддержки строк)
Программка на паскале, складывающая супер большие числа (при поддержки строк)
Задать свой вопрос2 ответа
Леонид Аки
А еще можно без головной боли....
// 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('2-ое слагаемое: '); Readln(sb);
if BigInteger.TryParse(sb,b)=False then Writeln('Это не целое число!')
else Writeln('Четкий итог: ',a+b)
end
end.
Тестовое решение:
1-ое слагаемое: 5423323409523846095938445870434764308454095
2-ое слагаемое: 7425543205430235436743455446541423534233
Четкий итог: 5430748952729276331375189325881305731988328
// 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('2-ое слагаемое: '); Readln(sb);
if BigInteger.TryParse(sb,b)=False then Writeln('Это не целое число!')
else Writeln('Четкий итог: ',a+b)
end
end.
Тестовое решение:
1-ое слагаемое: 5423323409523846095938445870434764308454095
2-ое слагаемое: 7425543205430235436743455446541423534233
Четкий итог: 5430748952729276331375189325881305731988328
Елизавета Горбушина
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)gt;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.
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)gt;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.
Evgenija Borodachenko
Спасибо огромное)
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
Облако тегов