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 vizitat site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Dacă aveți întrebări sau nevoie de asistență suplimentară, nu ezitați să ne contactați. Pe curând și nu uitați să ne adăugați la favorite!