Вопрос задан 26.02.2019 в 07:18. Предмет Информатика. Спрашивает Мухаметзянова Алия.

Напишите программы для сложения и вычитания длинных чисел.

0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Немчинов Кирилл.
Файл приложен с кодом
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, вот примеры программ на Python для сложения и вычитания длинных чисел:

Сложение длинных чисел:

```python def add_long_numbers(num1, num2): # Преобразуем числа в строки и находим их длины len1, len2 = len(num1), len(num2) # Выравниваем числа по длине, дополняя нулями слева if len1 > len2: num2 = '0' * (len1 - len2) + num2 else: num1 = '0' * (len2 - len1) + num1 # Инициализируем переменные для хранения результата и переноса result = '' carry = 0 # Идем справа налево по цифрам и складываем их for i in range(len(num1) - 1, -1, -1): digit_sum = int(num1[i]) + int(num2[i]) + carry carry = digit_sum // 10 # Определяем перенос result = str(digit_sum % 10) + result # Добавляем цифру к результату # Если остался перенос, добавляем его к результату if carry: result = str(carry) + result return result

# Пример использования number1 = '12345678901234567890' number2 = '98765432109876543210' sum_result = add_long_numbers(number1, number2) print(f"Сумма чисел: {sum_result}") ```

Вычитание длинных чисел:

```python def subtract_long_numbers(num1, num2): # Преобразуем числа в строки и находим их длины len1, len2 = len(num1), len(num2) # Выравниваем числа по длине, дополняя нулями слева if len1 > len2: num2 = '0' * (len1 - len2) + num2 else: num1 = '0' * (len2 - len1) + num1 # Инициализируем переменные для хранения результата и заема result = '' debt = 0 # Идем справа налево по цифрам и вычитаем их for i in range(len(num1) - 1, -1, -1): digit_diff = int(num1[i]) - int(num2[i]) - debt if digit_diff < 0: digit_diff += 10 # Заем debt = 1 else: debt = 0 result = str(digit_diff) + result # Добавляем цифру к результату # Удаляем ведущие нули из результата result = result.lstrip('0') # Если результат пустой, значит числа равны if not result: result = '0' return result

# Пример использования number1 = '98765432109876543210' number2 = '12345678901234567890' difference_result = subtract_long_numbers(number1, number2) print(f"Разность чисел: {difference_result}") ```

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

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос