Viết chương trình nhập vào từ bàn phím 4 số nguyên a,b,c,d khác 0 . Xuất ra màn hình m/n với phân số m/n là phân số tối giản của phép tính a/b+c/d . [ Tin học 8 ] Giúp em vớiiiiiiiii

1 câu trả lời

Const Fi='CONGPHANSO.INP';
      Fo='CONGPHANSO.OUT';
Var f,g: text;
    a,b,c,d,mau,tu,ps: int64;

Function UCLN(a,b: longint): longint;
Begin
        While a<>b do
        Begin
                If a>b then a:=a-b
                Else
                If b>a then b:=b-a;
        End;
        UCLN:=a;
End;

Begin
        Assign(f,Fi); Reset(f);
        Assign(g,Fo); Rewrite(g);

        Read(f,a,b,c,d);

        If (b=0) or (d=0) then Write(g,'Mau bang 0')
        Else
        Begin
                Writeln(g,'Hai phan so vua nhap la: ',a,'/',b,' , ',c,'/',d);

                If b=d then Writeln(g,'Tong hai phan so la: ',a+c,'/',b)
                Else
                Begin
                        tu:=a*d+b*c;
                        mau:=b*d;
                        Writeln(g,'Tong hai phan so la: ',tu,'/',mau);
                End;

                ps:=UCLN(tu,mau);
                tu:=tu div UCLN(tu,mau);
                mau:=mau div ps;
                Writeln(g,'Tong phan so rut gon: ',tu,'/',mau);
        End;
        Close(f);
        Close(g);
End.