# PBinfo #112 – fractieminima – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

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.

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
    int n, x, maxim = -1000, minim = 999999999, d;
    cin >> x;
    for (int i = 1; i <= x; i++) {
        cin >> n;
        if (n < minim) minim = n;
        if (n > maxim) maxim = n;
    } int a = maxim; int b = minim;
    while (b != 0) {
        int r = a % b;
        a = b;
        b = r;
    } d = a;
    cout << minim / d << "/" << maxim / d;
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/112)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/112/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-112/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
