Rezolvare completă PbInfo #2694 MinMax2

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.

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema MinMax2:

#include<bits/stdc++.h>
using namespace std;

int main()
{
    int a,b,mini1=10,mini2=10,maxi1=-1,maxi2=-1;
    cin>>a>>b;
    maxi1=max(a%10,a/10%10);
    maxi1=max(maxi1,a/100%10);
    maxi2=max(b%10,b/10%10);
    maxi2=max(maxi2,b/100%10);
    mini1=min(a%10,a/10%10);
    mini1=min(mini1,a/100%10);
    if(mini1==0)
    {
        if(b%10!=0 && b%10<mini2)
            mini2=b%10;
        if(b/10%10 && b/10%10<mini2)
            mini2=b/10%10;
        if(b/100%10<mini2)
            mini2=b/100%10;
    }
    else
    {
        mini2=min(b%10,b/10%10);
        mini2=min(mini2,b/100%10);
    }
    if(maxi1>maxi2)
        cout<<maxi1<<maxi2<<" ";
    else
        cout<<maxi2<<maxi1<<" ";
    if(mini2*10+mini1>maxi1*10+mini2)
    {
        cout<<maxi1<<mini2;
        return 0;
    }
    if(mini1==0)
        cout<<mini2<<mini1<<" ";
    else
    if(mini2==0)
        cout<<mini1<<mini2<<" ";
    else
    if(mini1>mini2)
        cout<<mini2<<mini1<<" ";
    else
        cout<<mini1<<mini2<<" ";
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #2694 MinMax2

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2694 MinMax2 de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!