fbpx

Problema #2694 – MinMax2 – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se dau 2 numere naturale cu exact 3 cifre fiecare, să se afișeze cel mai mare și cel mai mic număr de două cifre scris cu o cifră din primul număr și cu o cifră din al doilea.

Date de intrare

Programul citește de la tastatură 2 numere separate prin spații.

Date de ieșire

Programul va afișa pe ecran cel mai mare și cel mai mic număr de două cifre scris cu o cifră din primul număr și cu o cifră din al doilea în această ordine, separate prin spații.

Restricții și precizări

  • 100 ≤ a ≤ b ≤ 999

Exemplu

Intrare

123 912

Ieșire

93 11

Explicație

3 și 9 sunt cele mai mari cifre din primul respectiv al doilea număr, iar 1 și 1 sunt cele mai mici cifre din primul respectiv al doilea număr.

#include <bits/stdc++.h>

using namespace std;

int maxi(int n)
{
    int ma = 0;
    while(n)
    {
        if(n%10 > ma)
            ma = n % 10;
        n/=10;
    }
    return ma;
}

int main()
{
    int a , b;
    cin >> a >> b;
    int max1=maxi(a);
    int max2=maxi(b);
    int ma;
    if(max1 > max2)
        ma = max1*10 + max2;
    else
        ma = max2*10 + max1;
    int v[4] , v1[4];
    int p = 0 , p1 = 0;
    cout << ma << ' ';
    while(a)
    {
        v[p]=a%10;
        p++ , a/=10;
    }
    while(b)
    {
        v1[p1]=b%10;
        p1++ , b/=10;
    }
    sort(v , v + p);
    sort(v1 , v1 + p1);
    int min1 = v[0] , min2 = v1[0];
    if(v1[0]==0 && v[0]==0)
    {
        int mi=10;
        for(int i = 0 ; i < p ; ++i)
        {
            if(v[i] < mi && v[i]!=0)
                mi=v[i];
            if(v1[i] < mi && v1[i]!=0)
                mi=v1[i];
        }
        int m = mi * 10;
        cout << m;
    }
    else
    {
        if(min1==0 || min2==0)
        {
            if(min1 > min2)
                cout << min1*10;
            else
                cout << min2*10;
        } 
        else
        {
            if(min1 < min2)
                cout << min1*10+min2;
            else
                cout << min2*10+min1;
        }
    }
    
}
Comentarii

S-ar putea sa iti placa