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
.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema FractieMinima:
#include <iostream>
#include <cassert>
using namespace std;
int main(){
int n, a, max, min;
cin >> n;
assert(cin >> a);
max = min = a;
for(int i=1;i<n;++i){
assert(cin >> a);
if(a < min)
min = a;
if(a > max)
max= a;
}
int x = max,y=min;
int r = x % y;
while(r){
x = y;
y = r;
r = x % y;
}
cout << min/y << "/" << max/y << endl;
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #112 FractieMinima
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #112 FractieMinima de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!