fbpx

Problema #112 – FractieMinima – Rezolvari PBInfo

de Mihai-Alexandru

Cerinţa

Să se scrie un program care citește un șir de n numere naturale şi determină cea mai mică fracţie care poate fi scrisă cu numărătorul şi numitorul dintre cele n numere.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere naturale nenule, separate prin spaţii.

Date de ieşire

Programul afișează pe ecran numărul fracţia cerută, în forma x/y.

Restricţii şi precizări

  • 0 < n < 1001
  • cele n numere citite vor fi mai mici decât 2.000.000.000
  • fracţia afişată va fi ireductibilă

Exemplu

Intrare

5
6 10 3 2 5

Ieșire

1/5

Explicație

Cea mai mică fracţie care se poate scrie cu numerele din şire este 2/10. Prin simplificare se obţine fracţia ireductibilă 1/5.

#include <bits/stdc++.h>
using namespace std;
int main()
{

   int n,x,max=-1,min=999999999,a,b,r,d;
   cin>>x;
   for(int i=1;i<=x;i++)
   {
       cin>>n;
       if(n<min) min=n;
       if(n>max) max=n;

   }
   a=max;
   b=min;
    while(b!=0)
  {
      r=a%b;
      a=b;
      b=r;
  }
  d=a;
    cout<<min/d<<"/"<<max/d;
    return 0;
}
Comentarii

S-ar putea sa iti placa