Jump to content
bertelliedgard

Multiplicação de dois números sem operador de multiplicação

Recommended Posts

Estou estudando Python há algum tempo através de um livro que propõe o seguinte exercício:

Citar

Escreva um programa que leia dois números. Imprima o resultado da multiplicação do primeiro pelo segundo. Utilize apenas os operadores de soma e subtração para calcular o resultado. Lembre-se de que podemos entender a multiplicação de dois números como somas sucessivas de um deles. Assim, 4 x 5 = 5 + 5 + 5 + 5 = 4 + 4 + 4 + 4 +4.

 

Alguém pode me ajudar com este exercício?

Share this post


Link to post
Share on other sites

Olá!
Segue o code:
 

#! /usr/bin/python3
#coding: utf-8
try:
	a = int(input("1#: "));
	b = int(input("2#: "));
except:
	print("Insira apenas inteiros...");
	input();

resultado = 0; #variável responsável por acumular o valor de "b".
for i in range(a): #range(a) é a quantidade de vezes que "b" será somado.
	resultado += b; #"b" acumulando em "resultado".

print("\nO resultado é", resultado);

Espero poder ajudar!
Sucesso!
=]

Share this post


Link to post
Share on other sites

eu sei que ja faz tempo q você perguntou, porém agora q comecei a estudar, e me surgiu a mesma duvida, olhei no site do livro e a solução dava resultado diferente do pedido pelo enunciado, então eu fiz assim:

 

n1 = int(input("Digite o primeiro número: "))
# Recolhe o primeiro número
n2 = int(input("Digite o segundo número: "))
# Recolhe o segundo número
n1s = str(n1)
n2s = str(n2)
# Transformam o primeiro e segundo numero em string de texto
sim = str(" + ")
# Cria um texto com o simbolo "+"
conta1 = (n1 * (sim + n2s))
conta2 = (n2 * (sim + n1s))
# Juntam o sinal "+" com o numero da string
# O resltado fica algo como
# +1+1+1+1
len1 = len(conta1)
len2 = len(conta2)
# Conta quantos carecteres tem nas variaveis conta1 e conta2
# Vai servir pra saber até onde imprimir a string no final
print(f"{n1} x {n2} = {conta1[3:len1]} = {conta2[3:len2]} = {n1 * n2}")
# Imprime o resultado --------^^^^^^^ -> serve para tirar o primeiro "+"
# Assim o resultado fica 1+1+1+1 e não +1+1+1+1

 

 

 

espero ter ajudado

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By kelvim
      Boa tarde,
       
      Preciso de ajuda com o seguinte problema:
       
      tenho uma quantidade x de pessoas, o sistema calcula de acordo com algumas metas um valor percentual para cada pessoa.
      Ex: A = 30, B=50,C=7 e D=3 ->  Obs: sempre vai ser distribuído 100%
       
      Acontece que pode ser que o usuário especifique um valor fixo para um deles
       
      EX D sempre vai ser 10
      Isso quer dizer que será preciso redistribuir o valor excedente/faltante entre os demais, considerando a proporção.
       
      Espero ter conseguido explicar corretamente o problema, Agradeço se alguém ajudar.
       
       
    • By michael450
      Senhores, boa tarde.
       
      Estou com um probleminha... rss', preciso fazer a listagem de uma função da biblioteca "SPED-NFe"   na qual consulto quais as NFe que emitiram contra meu CNPJ, porém o ele executa toda a função e depois me trás o resultado, eu gostaria de trazer o resultado instantaneamente, como se fosse uma atualização segundo a segundo.
       
       
      Essas informações não são salvas em DB, é apenas para consulta.
      Se alguém puder ajudar serei muito grato,
       
      Abraço.
       
      Michael Douglas
    • By Guss
      var carro = {
      cor = "azul",
      modelo = "fusca",
      marca = "Volwagen,
      kms = 10000,
      combustivel = "gasolina"
      }
       
    • By 4ly
      O exercício propunha fazer duas funções uma para multiplicação e outra para criar uma fatorial, porém devem ser feitas usando apenas operações de soma e subtração
      bom fiz uma função para multiplicar e esta funcionando porém estou tentando utiliza-la para fazer a fatorial e o resultado sempre da zero ;-; podem me ajudar 
       
       
      algoritmo "semnome" var a,b:inteiro funcao multi(a:inteiro;b:inteiro):real var aux:real inicio se a=0 entao retorne 0 senao aux <- 0 enquanto b>0 faca aux <- aux+a b <- b-1 fimenquanto retorne aux fimse fimfuncao funcao fatorial(a:inteiro):real var fat,res:real inicio enquanto fat > 0 faca fat<-a fat <- fat - 1 res <- multi(fat,a) fimenquanto retorne res fimfuncao inicio leia(a) escreval(fatorial(a)) fimalgoritmo  
    • By Eder cruz
      Quais linguagens de programação é usada na construção de sistemas de postagens automaticas em grupos do facebook?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.