Вопрос задан 16.01.2026 в 20:00. Предмет Математика. Спрашивает Цветкова Александра.

Умножить число m на n

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

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

Отвечает Свиридов Глеб.

Если коротко: произведение — это результат умножения числа mm на число nn. Обозначается mnm \cdot n или mnmn.

Что это значит формально

  • Для целых чисел:
    Если n0n \ge 0, то mnm \cdot n — это сумма mm, взятая nn раз:

    mn=m+m++mn разm \cdot n = \underbrace{m + m + \dots + m}_{n\ \text{раз}}

    Если n<0n < 0, то mn=(mn)m \cdot n = -(m \cdot |n|).

  • Знаки:
    (+)(+)=+(+)\cdot(+)=+, (+)()=(+)\cdot(-)=-, ()(+)=(-)\cdot(+)=-, ()()=+(-)\cdot(-)=+.

  • Нулевые и единичные случаи:
    m0=0m\cdot 0 = 0, m1=mm\cdot 1 = m, m(1)=mm\cdot (-1) = -m.

  • Свойства:
    Коммутативность mn=nmm\cdot n = n\cdot m, ассоциативность (mn)k=m(nk)(m\cdot n)\cdot k = m\cdot(n\cdot k), дистрибутивность m(a+b)=ma+mbm\cdot(a+b)=m\cdot a+m\cdot b.

Пример «в столбик» (длинное умножение)

Умножим m=372m=372 на n=48n=48:

  1. 372×8=2976372 \times 8 = 2976

  2. 372×40=14880372 \times 40 = 14880 (сдвиг на один разряд)

  3. Складываем: 2976+14880=178562976 + 14880 = 17856.
    Итог: 37248=17856372 \cdot 48 = 17856.

Пример со знаком

m=37m=37, n=24n=-24:
37×24=88837\times 24 = 888, знак минус один раз ⇒ результат 888-888.

Вещественные числа (с запятой/точкой)

  • Умножьте как целые, а затем перенесите запятую на сумму разрядов после запятой у множителей.
    Пример: 12,3×0,4512{,}3 \times 0{,}45.
    Считаем как 123×45=5535123 \times 45 = 5535.
    После запятой суммарно 3 разряда ⇒ 5,5355{,}535.

Быстрые способы в уме (частные случаи)

  • Умножение на 10/100/1000 — просто добавьте нули (или сдвиньте запятую).

  • На 5: умножьте на 10 и поделите на 2.

  • На 9: умножьте на 10 и вычтите исходное число.

  • На 11 (для двузначных): цифры складываются между собой и вставляются между ними, учитывая переносы (например, 72×11=79272\times11=792).

Алгоритмы и код

Повторное сложение (учебный, для целых):

python
def multiply(m, n): sign = -1 if (m < 0) ^ (n < 0) else 1 m, n = abs(m), abs(n) # делаем меньшее количество сложений if m < n: m, n = n, m res = 0 for _ in range(n): res += m return sign * res

Быстрое умножение с битовыми сдвигами (алгоритм «русского крестьянина»):

python
def mul(a, b): sign = -1 if (a < 0) ^ (b < 0) else 1 a, b = abs(a), abs(b) res = 0 while b > 0: if b & 1: res += a a <<= 1 # a = a * 2 b >>= 1 # b = b // 2 return sign * res

На любом языке «в лоб»:

  • Python: m * n

  • C/C++: m * n

  • JavaScript: m * n

  • Java/Kotlin/C#: m * n

О погрешностях и переполнении

  • В целочисленных типах фиксированной ширины (например, 32-бит int) результат может переполниться. Для больших значений используйте типы большего размера (int64) или «длинную арифметику»/BigInteger.

  • В вещественных типах (float/double) возможна плавающая погрешность. Для финансовых расчётов используйте десятичные типы (Decimal) или работу в целых копейках/центах.

Краткий чек-лист

  1. Определите знаки и поставьте итоговый знак.

  2. Умножьте модули (столбиком, алгоритмом выше или оператором *).

  3. Для десятичных — корректно поставьте запятую.

  4. Проверьте переполнение/погрешность при нужной точности.

Итого: чтобы умножить число mm на nn, используйте mnmn (оператор *), учитывая знак, типы данных и желаемую точность.

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

Топ вопросов за вчера в категории Математика

Математика 12.01.2026 20:39 34 Макарова Ангелина

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

Математика 10.12.2025 11:47 25 Васильева Александра
Задать вопрос