Cerinţa
Se dau 4 numere naturale a b c d, reprezentând fracţiile a/b şi c/d. Calculaţi suma şi produsul celor două fracţii, aduse la forma ireductibilă.
Date de intrare
Programul citește de la tastatură numerele a b c d.
Date de ieşire
Programul afișează pe ecran numerele m n, reprezentând numărătorul şi numitorul sumei celor două fracţii, redusă la forma ireductibilă, iar pe a doua linie numerele p q, reprezentând numărătorul şi numitorul produsului celor două fracţii, redus la forma ireductibilă.
Restricţii şi precizări
1 ≤ a, b, c, d ≤ 10000
Exemplu
Intrare
1 2 4 3
Ieșire
11 6
2 3
Explicație
Suma fracţiilor 1/2 şi 4/3 este 11/6, iar produsul este 2/3.
Răspunsuri la întrebare
Răspuns de
5
Uite aici rezolvarea. Succes in continuare!
EDIT: Am modificat problema.
EDIT: Am modificat problema.
Anexe:
Răspuns de
3
Ti-am facut sursa la aceasta problema asa cum m-ai rugat. Succes!
#include <iostream>
using namespace std;
int a,b,c,d;
struct fr
{
int x,y;
} fr1,fr2;
int cmmdc(int d, int i)
{
int r=d%i;
while(r)
{
d=i;
i=r;
r=d%i;
}
return i;
}
int main()
{
cin>>fr1.x>>fr1.y>>fr2.x>>fr2.y;
a=fr1.x/cmmdc(fr1.x,fr1.y);
b=fr1.y/cmmdc(fr1.x,fr1.y);
c=fr2.x/cmmdc(fr2.x,fr2.y);
d=fr2.y/cmmdc(fr2.x,fr2.y);
if(a*d>=b*c) cout<<a<<" "<<b;
else cout<<c<<" "<<d;
return 0;
}
#include <iostream>
using namespace std;
int a,b,c,d;
struct fr
{
int x,y;
} fr1,fr2;
int cmmdc(int d, int i)
{
int r=d%i;
while(r)
{
d=i;
i=r;
r=d%i;
}
return i;
}
int main()
{
cin>>fr1.x>>fr1.y>>fr2.x>>fr2.y;
a=fr1.x/cmmdc(fr1.x,fr1.y);
b=fr1.y/cmmdc(fr1.x,fr1.y);
c=fr2.x/cmmdc(fr2.x,fr2.y);
d=fr2.y/cmmdc(fr2.x,fr2.y);
if(a*d>=b*c) cout<<a<<" "<<b;
else cout<<c<<" "<<d;
return 0;
}
MadalinaMadutaa:
Multumesc!
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Biologie,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă