Răspuns :
Răspuns:
#include <iostream>
using namespace std;
int main()
{
int a, b, max2, min2=0;
cin >> a >> b;
int c1a=a%10, c2a=(a/10)%10, c3a=a/100;
int ordonat_a=0;
while (ordonat_a==0)
{
ordonat_a=1;
if (c1a<c2a) { swap(c1a, c2a); ordonat_a=0; }
if (c2a<c3a) { swap(c2a, c3a); ordonat_a=0; }
if (c1a<c3a) { swap(c1a, c3a); ordonat_a=0; }
}
int c1b=b%10, c2b=(b/10)%10, c3b=b/100;
int ordonat_b=0;
while (ordonat_b==0)
{
ordonat_b=1;
if (c1b<c2b) { swap(c1b, c2b); ordonat_b=0; }
if (c2b<c3b) { swap(c2b, c3b); ordonat_b=0; }
if (c1b<c3b) { swap(c1b, c3b); ordonat_b=0; }
}
max2=max(c1a, c1b)*10+min(c1a, c1b);
if(c3a*c3b!=0) min2=min(c3a,c3b)*10+max(c3a,c3b);
else
{
int m,n;
if (c3a!=0)
{
m=c3a*10;
if (c2b!=0)
{
n=min(c3a,c2b)*10+max(c3a,c2b);
min2=min(m,n);
}
else
{
n=min(c3a,c1b)*10+max(c3a,c1b);
min2=min(m,n);
}
}
else
{
if (c3b!=0)
{
m=c3b*10;
if (c2a!=0)
{
n=min(c2a,c3b)*10+max(c2a,c3b);
min2=min(m,n);
}
else
{
n=min(c1a,c3b)*10+max(c1a,c3b);
min2=min(m,n);
}
}
else
{
if (c2a*c2b!=0) min2=min(c2a,c2b)*10;
else
{
if (c2a!=0)
{
m=c2a*10;
n=min(c1b,c2a)*10+max(c1b,c2a);
min2=min(m,n);
}
else
{
if (c2b!=0)
{
m=c2b*10;
n=min(c1a,c2b)*10+max(c1a,c2b);
min2=min(m,n);
}
else
{
min2=min(c1a,c1b)*10;
}
}
}
}
}
}
cout << max2 << " " << min2;
return 0;
}
Explicație:
cu aflarea lui max2 nu sunt probleme şi logica e clară
Marile probleme încep cu determinarea lui min2. Aici avem cazurile când ambele numere a şi b nu se termină cu zerouri după ce ai ordonat în descreţtere cifrele lor. iară e simplu, dar ce facem dacă unul din numere se termină cu 0, de exemplu după ordonare avem a=610 şi b=543. care e min2? evident nu 30, ci 13. Dacă ambele se termină cu 0? Iată această analiză o ai în codl postat de 100 puncte. Cercetează şi succese!
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că resursele disponibile v-au fost de ajutor. Pentru întrebări sau asistență suplimentară, nu ezitați să ne contactați. Ne bucurăm să vă revedem în curând și vă invităm să ne salvați în lista de site-uri preferate!