Помните алгоритмы, которые вы изучили в начальной школе (до того, как узнали, что такое «алгоритм») для выполнения арифметических операций над многозначными числами?
Это в основном то, что вам нужно реализовать здесь. За исключением того, что вы эффективно работаете на базе 1000 вместо базы 10.
Например, чтобы реализовать сложение, начните с добавления первого узла (цифры) каждого номера. Ответ не обязательно будет соответствовать одному узлу, но он будет меньше, чем удвоенная емкость, поэтому он не вызовет переполнения. Разделите это число на основание (1000) и удерживайте остаток (используя оператор %
). Поместите остаток в первый узел суммы.
Затем перейдите к следующему узлу. При добавлении этого узла к каждому номеру также добавьте результат деления из предыдущего шага. (Это несущая часть.) Повторите этот процесс для всех узлов.
Вы можете аналогичным образом перевести все операции из арифметических алгоритмов начальной школы. Удачи!