Cerinţa Se dau 4 numere naturale a b c d, reprezentând fracţiile a/b şi c/d. Determinați și afișați cea mai mare dintre cele două fracții. 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, separate prin exact un spațiu, reprezentând numărătorul şi numitorul fracției maxime, adusă la forma ireductibilă.
artur99:
aaa, stai, da' a zis că-s naturale
Răspunsuri la întrebare
Răspuns de
5
#include <iostream>
using namespace std;
int main()
{
int a,b,c,d;
cin>>a>>b>>c>>d;
while(a%2==0&&b%2==0)
a/=2,b/=2;
for(int i=3;i*i<=a;i+=2)
while(a%i==0&&b%i==0)
a/=i,b/=i;
while(c%2==0&&d%2==0)
c/=2,d/=2;
for(int i=3;i*i<=c;i+=2)
while(c%i==0&&d%i==0)
c/=i,d/=i;
if(a/b>c/d)
cout<<a<<' '<<b;
else
cout<<c<<' '<<d;
return 0;
}
using namespace std;
int main()
{
int a,b,c,d;
cin>>a>>b>>c>>d;
while(a%2==0&&b%2==0)
a/=2,b/=2;
for(int i=3;i*i<=a;i+=2)
while(a%i==0&&b%i==0)
a/=i,b/=i;
while(c%2==0&&d%2==0)
c/=2,d/=2;
for(int i=3;i*i<=c;i+=2)
while(c%i==0&&d%i==0)
c/=i,d/=i;
if(a/b>c/d)
cout<<a<<' '<<b;
else
cout<<c<<' '<<d;
return 0;
}
#include <cmath>
using namespace std;
struct Fractie{
int numarator, numitor;
};
void Citire(Fractie & P);
void Afisare(Fractie P);
void Simplificare(Fractie & P);
int Cmmdc(int a , int b);
int FCmp(Fractie A , Fractie B);
int main()
{
Fractie A , B;
Citire(A), Citire(B);
if(FCmp(A,B) > 0)
Afisare(A);
else
Afisare(B);
}
int Cmmdc(int a , int b)
{
if(b == 0)
return a;
else
return Cmmdc(b , a % b);
}
{
cin >> P.numarator >> P.numitor;
Simplificare(P);
}
void Afisare(Fractie P)
{
cout << P.numarator << " " << P.numitor;
}
void Simplificare(Fractie & P)
{
int x = Cmmdc(P.numarator, P.numitor);
P.numarator /= x;
P.numitor /= x;
}
int FCmp(Fractie A , Fractie B)
{
// returneaza -1 , 0 sau 1
if(A.numarator * B.numitor < A.numitor * B.numarator)
return -1;
if(A.numarator * B.numitor > A.numitor * B.numarator)
return 1;
return 0;
}
Răspuns de
0
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a, b, c, d;
cin >> a >> b >> c >> d;
cout << ((float(a) / b > float(c) / d) ? a / __gcd(a, b) : c / __gcd(c, d)) << '/' << ((float(a) / b > float(c) / d) ? b / __gcd(a, b) : d / __gcd(c, d));
return 0;
} // 2easy
using namespace std;
int main()
{
int a, b, c, d;
cin >> a >> b >> c >> d;
cout << ((float(a) / b > float(c) / d) ? a / __gcd(a, b) : c / __gcd(c, d)) << '/' << ((float(a) / b > float(c) / d) ? b / __gcd(a, b) : d / __gcd(c, d));
return 0;
} // 2easy
Alte întrebări interesante
Matematică,
9 ani în urmă
Chimie,
9 ani în urmă
Limba română,
9 ani în urmă
Chimie,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Engleza,
9 ani în urmă