Вопрос задан 29.04.2025 в 06:55. Предмет Информатика. Спрашивает Шибанов Евгений.

Напишите программу, которая вводит два целых числа и находит их произведение, не используя операцию умножения. Учтите, что числа могут быть отрицательными.

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

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

Отвечает Лукьянцев Сергей.

Конечно! Вот подробный ответ на задание, написанный как будто бы я обычный пользователь сайта вопросов и ответов:


Для решения этой задачи нужно написать программу, которая будет находить произведение двух целых чисел без использования операции умножения (*). При этом важно учесть, что входные числа могут быть отрицательными.

Подход к решению:

Умножение — это по сути повторное сложение. Например, 3 * 4 — это 3 + 3 + 3 + 3. Но если числа отрицательные, нужно быть аккуратнее: порядок сложения и знак результата зависят от знаков множителей.

Основная идея:

  1. Определить знак результата.

  2. Работать с модулями чисел (т.е. положительными значениями).

  3. Сложить одно число с самим собой нужное количество раз.

  4. Применить знак к результату.

Пример на Python:

python
a = int(input("Введите первое число: ")) b = int(input("Введите второе число: "))

# Определим знак результата negative = (a < 0) != (b < 0) # True, если только одно из чисел отрицательное

# Работаем с абсолютными значениями a_abs = abs(a) b_abs = abs(b)

# Чтобы сократить количество итераций, складываем меньшее число большее количество раз if a_abs < b_abs: a_abs, b_abs = b_abs, a_abs

# Вычисляем произведение через сложение result = 0 for _ in range(b_abs): result += a_abs

# Применяем знак if negative: result = -result

print("Результат умножения:", result)

Пример работы программы:

Введите первое число: -3 Введите второе число: 4 Результат умножения: -12

Объяснение:

  • -3 * 4 = -12

  • Модули: 3 и 4

  • Складываем 3 четыре раза: 3 + 3 + 3 + 3 = 12

  • Так как один из аргументов отрицательный, результат становится -12


Этот подход работает для любых целых чисел, включая отрицательные и ноль.
Если хочешь, могу показать версию на другом языке программирования — скажи, какой нужен?

Похожие вопросы

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

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

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