# 2. feladat
def lnko(x,y):
    if x==y:
        return x
    if x<y:
        return lnko(x,y-x)
    if x>y:
        return lnko(x-y,y)
# 5. feladat    
def lkkt(x, y):
    return (x*y)//lnko(x,y)

def egesz(x,y):
    return x%y==0

def egyszerusites(x,y):
    s=str(x)+'/'+str(y)+' = '
    if egesz(x,y):
        s+=str(x//y)
    else:
        x1=x//lnko(x,y)
        y1=y//lnko(x,y)
        s+=str(x1)+'/'+str(y1)
    return s

def osszeg(f):      # a/b + c/d
    bd=lkkt(b,d)
    ac=a*(lkkt(b,d)//b)
    ca=c*(lkkt(b,d)//d)
    osszeg=ac+ca
    if f:
        print(f'{a}/{b} + {c}/{d} = {ac}/{bd} + {ca}/{bd} = {egyszerusites(osszeg,bd)}',file=fki)
    else:
        print(f'{a}/{b} + {c}/{d} = {ac}/{bd} + {ca}/{bd} = {egyszerusites(osszeg,bd)}\n')
    
def szorzat(f):      # a/b * c/d
    ac=a*c
    bd=b*d
    if f:
        print(f'{a}/{b} * {c}/{d} = {egyszerusites(ac,bd)}',file=fki)
    else:
        print(f'{a}/{b} * {c}/{d} = {egyszerusites(ac,bd)}\n')

print('1. feladat -----------------------------------------------')
a=int(input('Kérem a tört számlálóját: '))
b=int(input('Kérem a tört nevezőjét..: '))
if egesz(a,b):
    print(f'Felírható egész számként: {a//b}')
else:
    print('Nem egész.')

print('\n3. feladat -----------------------------------------------')
print(egyszerusites(a,b))

print('\n4. feladat -----------------------------------------------')
c=int(input('Kérem a másik tört számlálóját: '))
d=int(input('Kérem a másik tört nevezőjét..: '))
szorzat(False)

print('\n6. feladat -----------------------------------------------')
osszeg(False)

# 7. feladat ------------------------------------------------------
fbe=open('adat.txt','r')
fki=open('eredmeny.txt','w')

for sor in fbe:
    sor=sor.strip().split()
    sor[:4]=map(int,sor[:4])
    a=sor[0]
    b=sor[1]
    c=sor[2]
    d=sor[3]
    if sor[4]=='+':
        osszeg(True)
    else:
        szorzat(True)

fki.close()
fbe.close()












