Как найти произведение двух чисел используя сложение

Как можно вычислить произведение, используя сложение?

Приведи примеры.

Перед вами страница с вопросом Как можно вычислить произведение, используя сложение?, который относится к
категории Математика. Уровень сложности соответствует учебной программе для
учащихся 1 — 4 классов. Здесь вы найдете не только правильный ответ, но и
сможете ознакомиться с вариантами пользователей, а также обсудить тему и
выбрать подходящую версию. Если среди найденных ответов не окажется
варианта, полностью раскрывающего тему, воспользуйтесь «умным поиском»,
который откроет все похожие ответы, или создайте собственный вопрос, нажав
кнопку в верхней части страницы.

0 / 0 / 0

Регистрация: 18.10.2017

Сообщений: 23

1

Найдите произведение двух чисел, используя только операцию сложения

23.10.2017, 19:06. Показов 5282. Ответов 2


Студворк — интернет-сервис помощи студентам

Введите два числа (например A=5 и В=8  5 раз суммируем
8+8+8+8+8) и найдите их произведение, используя только операцию
сложения.



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

23.10.2017, 19:06

2

bormant

Модератор

Эксперт Pascal/DelphiЭксперт NIX

7534 / 4394 / 2785

Регистрация: 22.11.2013

Сообщений: 12,586

Записей в блоге: 1

24.10.2017, 01:48

3

Лучший ответ Сообщение было отмечено bormant как решение

Решение

ZX Spectrum-128,
если честно, по ссылке бред полный.

Pascal
1
2
3
4
5
6
7
8
9
var a, b, t: Integer; r: Longint;
begin
  Read(a,b);
  if a<b then begin
    t:=a; a:=b; b:=t;
  end;
  r:=0; for t:=1 to b do r:=r+a;
  WriteLn(r);
end.

Добавлено через 11 минут
Ага, ещё момент, в условии не сказано про натуральные числа, то есть нужно учесть и знак:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
var a, b, t, s: Integer; r: Longint;
begin
  Read(a,b); s:=1;
  if a<0 then begin a:=-a; s:=-s; end;
  if b<0 then begin b:=-b; s:=-s; end;
  if a<b then begin
    t:=a; a:=b; b:=t;
  end;
  r:=0; for t:=1 to b do r:=r+a;
  if s<0 then r:=-r;
  WriteLn(r);
end.



1



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

24.10.2017, 01:48

Помогаю со студенческими работами здесь

Сложение двух чисел Рекурсивное определение операции сложения двух чисел и другие
Помогите составить программы целиком (всё с рекурсией).

1. Сложение двух чисел (а+b)….

Используя функцию произведения двух матриц, найдите произведение трех матриц А(3,4) В(4,3) С(3,3)
Используя функцию произведения двух матриц, найдите произведение трех матриц А(3,4) В(4,3) С(3,3).

Найдите их произведение, используя только операцию сложения
19. Введите два числа. Найдите их произведение, используя только операцию сложения.

Введите два числа. Найдите их произведение, используя только операцию сложения
Введите два числа. Найдите их произведение, используя только операцию сложения.

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

3

Я, в основном, программы на С + + пишу, но из школы про Паскаль кое-что помню (в смысле, попытаюсь написать на Паскале).

Program A1;

var a, b, c, i:integer;

begin

write (‘Enter the a: ‘);

read (a);

writeln (‘Enter the b: ‘);

read (b);

с:=0;

for i:=1 to a Do

c:=c+b;

writeln (‘a*b=’, c:5:0);

end.

Объясняю (начинаю сразу с цикла for) : что значит произведение двух натуральных чисел а и b — это означает, сложить b с самим собой по а раз (можно и наоборот). Например, a=5, b=3. Переменную с=0 будем складывать с b.

i=1 c=5+0;

i=2 c=5+5;

i=3 c=10+5; / / c=15

Вот и есть ответ: 5*3=15.

Формулировка задачи:

Введите два числа (например A=5 и В=8  5 раз суммируем
8+8+8+8+8) и найдите их произведение, используя только операцию
сложения.

Код к задаче: «Найдите произведение двух чисел, используя только операцию сложения»

textual

var a, b, t: Integer; r: Longint;
begin
  Read(a,b);
  if a<b then begin
    t:=a; a:=b; b:=t;
  end;
  r:=0; for t:=1 to b do r:=r+a;
  WriteLn(r);
end.

Полезно ли:

12   голосов , оценка 4.250 из 5

This is my problem statement.
Given two integers m & n, calculate and return their multiplication using recursion. You can only use subtraction and addition for your calculation. No other operators are allowed.

This is my approach.

def mult(m,n):
    if m == 0 or n == 0:
        return 0
    if n == 1:
        return m
    if m == 1:
        return n
    if m < 0 and n < 0:
        return mult(-m, -n)
    if n < 0:
        return -mult(m, -n)
    if m < 0:
        return -mult(-m, n)
    return m + mult(m, n - 1) 

m = int(input())
n = int(input())
print (mult(m, n))

One of the test case is showing Runtime Error.
Could someone please tell me what is problem with my code. I have also taken care of negative values.

Runtime Error
Traceback (most recent call last): File Main.py , line 18, in <module> print (mult(m, n)) 
File Main.py , line 14, in mult return m + mult(m, n - 1) 
File Main.py , line 14, in mult return m + mult(m, n - 1) 
File Main.py , line 14, in mult return m + mult(m, n - 1) 
File Main.py , line 14, in mult return m + mult(m, n - 1) 
File Main.py , line 14, in mult return m + mult(m, n - 1) 
File Main.py , line 14, in mult return m + mult(m, n - 1)

Понравилась статья? Поделить с друзьями:

Не пропустите также:

  • Как найти отношение площадей прямоугольных треугольников
  • Как исправить искривление носа дома
  • На участке два дома как составить договор купли продажи
  • Как найти монстра под кроватью
  • Как найти пропавшего человека в польше

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии