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ât2.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; }