Надо сложить 2 целых числа a и b, но при этом их сумма может доходить до 10^100. Я написал код, он работает только до определенного момента, когда пробуешь сложить например "111111111111111111111111111111" и "222222222222222222222222222222", ответ выдает уже не верный.
Как можно сложить два огромных числа в С++ чтобы их сумма могла доходить до 10^100 ?
Прилагаю код, но буду рад если вы покажете более простой способ решения.
#include
Новый код прилагаю:
#include
char mas1[101], mas2[101];
int mas3[101], mas4[101];
for(int i=0;i
for (int ix = 0; ix < length; ix++)
{
mas4[ix] += mas3[ix];
mas4[ix + 1] += (mas4[ix] / 10);
mas4[ix] %= 10;
}
if (mas4[length - 1] == 0)
length--;
for(int i=0;i
Ответ
Есть масса информации на тему "Длинная арифметика" в С/С++
Например:
http://cppstudio.com/post/5036/
https://mindhalls.ru/big-number-in-c-cpp-add-sub/
http://e-maxx.ru/algo/big_integer
Комментариев нет:
Отправить комментарий