Escrever um programa que leia dois números inteiros e calcule o resultado da multiplicação de um pelo outro sem utilizar a operação de multiplicação (ou seja, utilizando apenas soma).

Passo 1

O enunciado pede um programa que leia dois inteiros e calcule o produto deles sem usar o operador de multiplicação, apenas somas. Vamos usar conceitos de laços (loops) e tratamento de sinal para lidar com números negativos.

Passo 2

Primeiro, precisamos pensar em como fazer uma “multiplicação” apenas somando. A ideia é somar um dos números (chamado multiplicando) repetidamente, tantas vezes quanto o valor absoluto do outro (chamado multiplicador).
Como podem surgir sinais negativos, extraímos o sinal do resultado: Se os dois números tiverem sinais iguais, o produto é positivo; caso contrário, é negativo. Para isso, guardamos o sinal final em uma variável (1 ou -1) e trabalhamos com valores absolutos.

Passo 3

Em seguida, inicializamos uma variável resultado em 0 e usamos um loop que vai de 1 até o valor absoluto do multiplicador. A cada iteração, adicionamos o valor absoluto do multiplicando ao resultado.

Passo 4

Ao final do loop, aplicamos o sinal guardado (multiplicando o resultado por 1 ou -1) e então exibimos o valor obtido.
O algoritmo resultante tem complexidade O(|multiplicador|) e cobre todos os casos (incluindo zero e negativos).

Resposta

Programa em Python

Lê dois números inteiros e calcula o produto apenas com somas

a = int(input("Digite o primeiro inteiro: "))
b = int(input("Digite o segundo inteiro: "))

Determina o sinal do resultado

if (a < 0 and b < 0) or (a >= 0 and b >= 0):
sinal = 1
else:
sinal = -1

Trabalha com valores absolutos para a lógica de soma repetida

abs_a = abs(a)
abs_b = abs(b)

Soma abs_a, abs_b vezes

resultado = 0
for _ in range(abs_b):
resultado += abs_a

Aplica o sinal final

resultado *= sinal
print(“Resultado da multiplicação:”, resultado)

Exercícios relacionados