Сложение огромных чисел, представленных строками

В Python целые числа имеют произвольную точность, поэтому строки длиной до 100 цифр можно преобразовать в int, сложить и вернуть str результата.

Короткий ответ

Что ответить на собеседовании

В Python целые числа имеют произвольную точность, поэтому строки длиной до 100 цифр можно преобразовать в int, сложить и вернуть str результата.

Подробный разбор

Ответ с пояснениями

Условие

Реализуйте функцию, которая получает массив чисел, записанных строками (длина каждой строки может достигать 100 символов), и возвращает их общую сумму, также в строковом виде.

Пример 1: Ввод: ["123", "456"] Вывод: "579"

Пример 2: Ввод: ["999999999999999", "1"] Вывод: "1000000000000000"

Ответ

В Python целые числа имеют произвольную точность, поэтому строки длиной до 100 цифр можно преобразовать в int, сложить и вернуть str результата.

def sum_large_numbers(values):
    total = 0
    for value in values:
        total += int(value)
    return str(total)

Для ['123', '456'] получится '579', для ['999999999999999', '1'] — '1000000000000000'. Пустой массив по выбранному контракту возвращает '0'. Некорректная строка приводит к ValueError; если требуется строгий десятичный формат, валидируйте его заранее.

Преобразовывать через float нельзя: оно потеряет точность. В языках с фиксированным размером целых нужен BigInteger либо поразрядное сложение строк с переносом. Стоимость зависит от числа цифр, а не только количества элементов массива.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее