
ausantos
(usa Ubuntu)
Enviado em 06/05/2020 - 20:14h
Boa noite,
Sou novo em programação Python e estou desenvolvendo com a IDE Pycharm no Windows 10.
Estou fazendo exercícios de programação e estou em dúvida de como resolver o exercício que vou descrever a seguir.
Gostaria de pedir ajuda aos mais experientes na linguagem.
O programa recebe n números na entrada e calcula o mdc. Porém começa a dar problema com n > 3, ou seja, quando a quantidade de números na entrada é maior que 3. Meu print da main() sempre vem 1.
Não sei o que fazer com a variável "mdc_atual = 1"
Alguém poderia me ajudar por favor?
def mdc(num1, num2):
i = 2
mdc_atual = 1
while i < num1 and i < num2:
while num1 % i == 0 and num2 % i == 0:
mdc_atual = mdc_atual * i
num1 = num1 // i
num2 = num2 // i
i = i + 1
return mdc_atual
qtd_num = int(input("Entre com a quantidade de números: "))
cont = 1
recebe_mdc = 0
recebe_mdc = int(input("Entre com o 1º número:: "))
while cont < qtd_num: #step into
num = int(input('Entre com o {}º número: '.format(cont+1))) #step over
recebe_mdc = mdc(recebe_mdc, num)
cont = cont + 1
print('O mdc é {}'.format(recebe_mdc))