fbpx

Problema #2750 – GenNr – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se citesc 2 numere naturale, cu cel mult 12 cifre fiecare. Să se afișeze cel mai mic și cel mai mare număr având exact două cifre, format cu o cifră din primul număr și cu o cifră din al doilea.

Date de intrare

Programul citește de la tastatură cele 2 numere separate printr-un spațiu.

Date de ieșire

Programul va afișa pe ecran cel mai mic și cel mai mare număr de exact două cifre format cu o cifră din primul număr și cu o cifră din al doilea, separate printr-un spațiu.

Restricții și precizări

  • cele două numere citite vor fi mai mici decât 1.000.000.000.000

Exemplu

Intrare

293 412

Ieșire

12 94

Explicație

1 și 2 sunt cele mai mici cifre din al doilea respectiv primul număr și astfel se formează 12, iar 9 și 4 sunt cele mai mari cifre din primul respectiv al doilea număr și astfel se formează 94.

#include <bits/stdc++.h>
using namespace std;
long long x , y , a[20] , b[20] , mini , maxi , c1 , c2;
int main()
{
    cin >> x >> y;
    mini = 100;
    while(x)
    {
        a[++c1] = x % 10;
        x /= 10;
    }
    while(y)
    {
        b[++c2] = y % 10;
        y /= 10;
    }
    for(int i = 1 ; i <= c1 ; i++)
    {
        for(int j = 1 ; j <= c2 ; j++)
        {
            if(a[i] * 10 + b[j] > 9)
            {
                mini = min(mini , a[i] * 10 + b[j]);
                maxi = max(maxi , a[i] * 10 + b[j]);
            }
            if(b[j] * 10 + a[i] > 9)
            {
                mini = min(mini , b[j] * 10 + a[i]);
                maxi = max(maxi , b[j] * 10 + a[i]);
            }
        }
    }
    cout << mini << " " << maxi;
    return 0;
}
Comentarii

S-ar putea sa iti placa