Вопрос задан 18.06.2023 в 14:25. Предмет Информатика. Спрашивает Тадевосян Тигран.

Помогите срочно, ДАЮ 95 БАЛОВ. Нужно написать программу с рекурсивной функцией для умножения двух

чисел А*В используя только операцию сложения. С++
0 0
Перейти к ответам

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

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

#include <iostream>

double multiply(double num1, double num2) {

   if (num2 > 0) return num1 + multiply(num1, num2 - 1);

   else if (num2 < 0) return -num1 + multiply(num1, num2 + 1);

   return 0;

}

signed main() {

   

   //2.2 * 2

   std::cout << multiply(2.2, 2) << std::endl;

   //4 * 2

   std::cout << multiply(4, 2) << std::endl;

   //-8 * 2

   std::cout << multiply(-8, 2) << std::endl;

   //0*1

   std::cout << multiply(0, 1) << std::endl;

   return 0;

}

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения данной задачи мы можем использовать свойство умножения, которое гласит, что A * B можно представить как A + A + ... + A (B раз), где А и B - целые числа.

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

Вот пример кода на языке Python:

```python def multiply_recursive(A, B): if B == 0: # базовый случай, когда число B равно 0 return 0 else: return A + multiply_recursive(A, B-1) ```

В этой программе функция `multiply_recursive` принимает два аргумента - числа А и В. Сначала программа проверяет базовый случай, когда число B равно 0. В этом случае функция возвращает 0, так как умножение на 0 дает всегда 0.

Если базовый случай не выполняется, то функция рекурсивно вызывает саму себя, уменьшая число В на 1 в каждом шаге, и прибавляет число А к результату предыдущего вызова функции. Таким образом, функция постепенно прибавляет А к самому себе В раз и возвращает итоговый результат.

Пример использования функции:

```python result = multiply_recursive(5, 3) print(result) # Выводит 15, так как 5 * 3 = 5 + 5 + 5 = 15 ```

Надеюсь, это помогло! Если у вас остались вопросы, пожалуйста, дайте мне знать.

0 0

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

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

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

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