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

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

begin
writeln ('Введите два числа:');
readln (a, b);
n:=abs(b);
if (a=0) or (b=0) then
writeln (a,'*',b,'=0')
else begin
while (n<>0) do begin
n:=n-1;
p:=p+abs(a)
end;
if (a>0) and (b>0) then writeln (a,'*',b,'=',p);
if (a<0) and (b<0) then writeln ('(',a,')','*','(',b,')','=',p);
if (a>0) and (b<0) then writeln (a,'*','(',b,')','=-',p);
if (a<0) and (b>0) then writeln ('(',a,')','*',b,'=-',p);
end;
end.



//Если программа не запускается, то обновите версию
var
a, b, i, p: integer;
begin
readln(a, b);
p := 0;
for i := 1 to abs(b) do
p := p + abs(a);
if sign(a) <> sign(b) then p := -p;
writeln(p);
end.



Для решения этой задачи можно воспользоваться идеей, что произведение двух чисел равно сумме одного из чисел, сколько раз второе число, если первое число положительное, или сумме второго числа, сколько раз первое число, если второе число положительное.
Программа может выглядеть следующим образом на языке Python:
```python def multiply(a, b): result = 0 if a > 0: for i in range(b): result += a elif b > 0: for i in range(a): result += b else: for i in range(abs(b)): result -= abs(a) return result
# Пример использования программы num1 = int(input("Введите первое число: ")) num2 = int(input("Введите второе число: ")) product = multiply(num1, num2) print("Произведение чисел:", product) ```
В этой программе функция `multiply` принимает два целых числа `a` и `b`, а затем с помощью циклов и условных операторов находит их произведение. Если первое число `a` положительное, то цикл будет выполняться `b` раз и каждый раз будет добавлять значение `a` к результату. Если второе число `b` положительное, то цикл будет выполняться `a` раз и каждый раз будет добавлять значение `b` к результату. Если оба числа отрицательные, то цикл будет выполняться `|b|` раз и каждый раз будет вычитать абсолютное значение `a` из результата.
Затем в основной части программы пользователю предлагается ввести два целых числа, которые передаются в функцию `multiply`. Результат произведения выводится на экран.


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







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili