ПАСКАЛЬ. Длинноватая математика. Необходимо сложить два больших длинноватых числа.

ПАСКАЛЬ. Длинноватая математика. Необходимо сложить два больших длинных числа.

Задать свой вопрос
Юрик Курьянт
берете PascalABC.NET и не морочите для себя голову, или Python
Юленька Секутрова
необходимо решить в PascalABC)
Юленька Оввян
в PascalABC.NET есть тип Biginteger
1 ответ

//длинноватая математика

begin

 var a := '123456789123456789';//ReadString();

 var b := '123456789123456789123';//...

 

 var l := Abs(a.Length - b.Length);

 var source := l*'0';

 

 if a.Length gt; b.Length then

     insert(source, b, 1)

 else

     insert(source, a, 1);

 

 var s := '';

 var mem := 0;

 

 for var i:=a.Length downto 1 do

 begin

   var c := a[i].ToDigit + b[i].ToDigit + mem;

   mem := c div 10;

   insert((c mod 10).ToString, s, 1)

 end;

 

 if (mem gt; 0) then insert('1', s, 1);

 

 s.Println;

end.

Cherepnja Jelina
PascalABC.NET
Настя Трумекальн
А с типом BigInteger это было бы так
Амина Мишнейшвили
begin var a := '123456789123456789'.ToBigInteger; var b := '123456789123456789123'.ToBigInteger; Print(a + b)end.
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт