Вопрос задан 11.03.2021 в 04:04. Предмет Информатика. Спрашивает Ли Маша.

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

операцию умножения. Учтите, что числа могут быть отрицательными. На языке СИ
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Позывной Данил.
//Написано на си/си++
#include <iostream>#include <stdio.h>#include <math.h>
int main() { setlocale(LC_ALL, "");
int a, b, c = 0;
std::cout << "Введите первое число:"; std::cin >> a; std::cout << "Введите второе число:"; std::cin >> b;
if (b != abs(b)) { a = -a; b = abs(b);//функция которая возвращает модуль переданного числа }
for (int i = 0; i < b; ++i) { c += a; }
std::cout << "num:" << c;
system("pause"); return 0;}
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

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

c
#include <stdio.h> int multiply(int a, int b) { int result = 0; // Проверка знаков чисел int sign = 1; if ((a < 0 && b > 0) || (a > 0 && b < 0)) sign = -1; // Приводим числа к положительному виду a = a < 0 ? -a : a; b = b < 0 ? -b : b; while (b > 0) { if (b % 2 == 1) { result += a; } a <<= 1; b >>= 1; } return sign == -1 ? -result : result; } int main() { int a, b; printf("Введите два целых числа: "); scanf("%d %d", &a, &b); int product = multiply(a, b); printf("Произведение: %d\n", product); return 0; }

В этой программе мы используем битовые операции для нахождения произведения. Мы также обрабатываем случаи отрицательных чисел и сохраняем знак результата.

0 0

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

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

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