Вопрос задан 25.02.2019 в 00:39. Предмет Информатика. Спрашивает Вострецова Кристина.

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

операцию умножения. Учтите, что числа могут быть отрицательными. Через цикл WHILE!!!! (c++)
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Голдаев Сергей.
// идея решения: a * b (если b > 0) эквивалентно сумме a + a + ... + a (b раз)
// если b < 0, меняем знак у a
// если b = 0, ответ всегда 0
 
#include <iostream>
 
int mult(int a, int b) {
  if (b == 0) return 0;
  if (b < 0) return mult(-a, -b);
  int product = 0;
  while (b > 0) {
    product += a;
    b--;
  }
  return product;
}
 
int main() {
  int a, b;
  std::cin >> a >> b;
  std::cout << mult(a, b);
  return 0;
}
 
Пример ввода: -2 -7
Пример вывода: 14
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот пример программы на языке C++, которая находит произведение двух целых чисел без использования операции умножения, используя цикл while:

```cpp #include

int multiply(int a, int b) { int product = 0; bool isNegative = false; // Проверяем знаки чисел if (a < 0 && b < 0) { a = -a; b = -b; } else if (a < 0) { a = -a; isNegative = true; } else if (b < 0) { b = -b; isNegative = true; } // Находим произведение без использования операции умножения while (b != 0) { product += a; b--; } // Возвращаем произведение с учетом знака return isNegative ? -product : product; }

int main() { int num1, num2; std::cout << "Введите два целых числа: "; std::cin >> num1 >> num2; int result = multiply(num1, num2); std::cout << "Произведение: " << result << std::endl; return 0; } ```

Программа получает два целых числа от пользователя, затем вызывает функцию `multiply`, которая находит произведение этих чисел без использования операции умножения. В функции `multiply` сначала проверяются знаки чисел и сохран

0 0

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

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

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