Răspuns :
Eu unul nu vad nicio solutie care ar putea fi mai buna, ca pana la urma cea mai mica fractie e formata din cel mai mic numar drept numarator si cel mai mare numar drept numitor.
Ai putea totusi sa nu folosesti nume prea lungi pentru variabile ca sa nu scrii prea mult. Variabile precum x sau y sunt bune pentru ca asta nu e un program real, de N mii de linii de cod, ci e doar o problema la info. Si nu era neaparat nevoie sa faci o functie pentru CMMDC :).
Uite cum as restructura eu codul:
#include <iostream>
using namespace std;
int main()
{
int n, x, min, max;
cin >> n >> x;
min = max = x;
for(int i=1; i<n; i++)
{
cin >> x;
if (x < min)
min = x;
if (x > max)
max = x;
}
int a = min, b = max;
while(b)
{
int c = a%b;
a = b;
b = c;
}
cout << min/a << "/" << max/a;
return 0;
}
Ai putea totusi sa nu folosesti nume prea lungi pentru variabile ca sa nu scrii prea mult. Variabile precum x sau y sunt bune pentru ca asta nu e un program real, de N mii de linii de cod, ci e doar o problema la info. Si nu era neaparat nevoie sa faci o functie pentru CMMDC :).
Uite cum as restructura eu codul:
#include <iostream>
using namespace std;
int main()
{
int n, x, min, max;
cin >> n >> x;
min = max = x;
for(int i=1; i<n; i++)
{
cin >> x;
if (x < min)
min = x;
if (x > max)
max = x;
}
int a = min, b = max;
while(b)
{
int c = a%b;
a = b;
b = c;
}
cout << min/a << "/" << max/a;
return 0;
}
Vă mulțumim că ați ales să vizitați site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți alte întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Vă așteptăm cu drag să reveniți și nu uitați să ne salvați în lista de favorite!