Informatică, întrebare adresată de white2004, 8 ani în urmă

Cerinţa Se dau n perechi de numere naturale nenule, fiecare reprezentând câte o fracţie. Calculaţi suma celor n fracţii, aducând rezultatul la forma ireductibilă. Date de intrare Programul citește de la tastatură numărul n, iar apoi n perechi de numere naturale, reprezentând numitorul şi numărătorul unei fracţii. Date de ieşire Programul afișează pe ecran numerele P Q, separate prin exact un spaţiu, reprezentând numărătorul şi numitorul fracţiei sumă, adusă la forma ireductibilă. Restricţii şi precizări 1 ≤ n ≤ 10 numărătorul şi numitorul fiecărei fracţii sunt numere naturale cu cel mult două cifre Exemplu Intrare 4 1 3 5 6 1 2 4 2 Ieșire 11 3

IN c++
391 bpinfo

Răspunsuri la întrebare

Răspuns de S0unds
0
#include <iostream>
using namespace std;

int main()
{
int n,aux[20],p[10],k=0,q[10],s,P=0,Q=1;
cin>>n;
for(int i=0;i<n*2;i++)
cin>>aux[i];
for(int i=0;i<n*2;i+=2)
p[k++]=aux[i];
k=0;
for(int i=1;i<n*2;i+=2)
q[k++]=aux[i];
k=0;
for(int i=0;i<n;i++)
{
Q*=q[i];
}
s=Q;
for(int i=0;i<n;i++)
P+=(s/q[i])*p[i];
for(int d=2;d<P/2;d++)
if(P%d==0)
{
P/=d;
d=1;
}
for(int d=2;d<Q/2;d++)
if(Q%d==0)
{
Q/=d;
d=1;
}
cout<<P<<' '<<Q;
}
Alte întrebări interesante