Task 27. Операции вычитания, умножения и деления через операцию сложения

Task 27. Операции вычитания, умножения и деления через операцию сложения

UniLecs

Задача: реализовать операции вычитания, умножения и деления через операцию сложения

Идея:

  1. Вычитание: операция (a – b) = a + (-1) * b. Так как мы не можем использовать умножение, напишем отдельную функцию для реализациия отрицания. Отрицательное значение числа Х получается суммированием Х раз числа -1.
  2. Умножение: для того, чтобы перемножить a*b, нужно сложить значение а b раз. Если одно из чисел отрицательное, нам также надо учесть знак.
  3. Деление: div = a/b. Переопределим задачу: найти div, если a=b*div. По сути количество значений b, чтобы получить а и будет искомым значением div.

Реализация:

вычитание
умножение
деление

https://gist.github.com/unilecs/7654ca5aaec3f23772ed151d2aa97a43

Report Page