# TOPIC

Runtime Error -Python. Porém exemplos funcionam

#### Aléxia Krüger asked 1 year ago

Alguém pode me ajudar esclarecendo porque estou recebendo runtime error? Fiz os testes, inclusive do uDebug e deu tudo certo.

``````from math import gcd

num = (N1 * D2 + N2 * D1)
den = (D1 * D2)
mdc = gcd(num, den)
result = "{}/{} = {}/{}".format(num, den, (num // mdc), (den // mdc))
return result

def sub():
num = (N1 * D2 - N2 * D1)
den = (D1 * D2)
mdc = gcd(num, den)
result = "{}/{} = {}/{}".format(num, den, (num // mdc), (den // mdc))
return result

def mult():
num = (N1 * N2)
den = (D1 * D2)
mdc = gcd(num, den)
result = "{}/{} = {}/{}".format(num, den, (num // mdc), (den // mdc))
return result

def div():
num = (N1 * D2)
den = (N2 * D1)
mdc = gcd(num, den)
result = "{}/{} = {}/{}".format(num, den, (num // mdc), (den // mdc))
return result

'-': sub(),
'*': mult(),
'/': div()
}

casos_teste = int(input())
i = 0
while i < casos_teste:
i += 1
N1, barra1, D1, op, N2, barra2, D2 = input().split()
N1, D1, N2, D2 = int(N1), int(D1), int(N2), int(D2)

print(define_operacao(op))
``````

Remember not post solutions. Your post may be reviewed by our moderators.

• #### Daniel Girotto replied 8 months ago

Tive o mesmo problema, descobri que a causa é o gcd então implementei o Algoritmo de Euclides para determinação de MDC.

``````def mdc_euclidiano(dividendo, divisor):
resto = dividendo % divisor

while resto != 0:
dividendo, divisor, mdc = divisor, resto, resto

resto = dividendo % divisor
else:
return divisor

return mdc``````