Rezolvare completă PbInfo #2811 Triplete

Cerința

Subprogramul triplete are trei parametri, a, b și c, în această ordine, prin care primește câte un număr natural din intervalul [0,104] (a<b). Subprogramul afișează pe ecran în ordine lexicografică toate tripletele de numere naturale, x, y și z, soluții ale ecuației x+y+z=c, cu proprietatea că a≤ x≤ y≤ z≤ b.

Fiecare triplet afișat pe câte o linie și este încadrat între acolade, iar numerele x, y și z sunt afișate în această ordine, separate prin câte o virgulă. Dacă nu există niciun triplet cu proprietatea cerută, se afişează mesajul nu exista.

Scrieți definiția completă a subprogramului.


Exemplu

Dacă a=2, b=4 și c=8, se afișează pe ecran tripletele:

{2,2,4}
{2,3,3}

Dacă a=5, b=8, c=8 se afișează pe ecran mesajul nu exista.

Important

Soluția propusă va conține definiția subprogramului cerut. Prezența în soluție a altor instrucțiuni poate duce erori de compilare sau de execuție care vor avea ca efect depunctarea soluției.

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 Triplete :

void triplete(int a, int b , int c)
{
    int gasit = 0;
    for(int x = a ; x <= b ; x ++)
        for(int y = x ; y <= b && x + y + y <= c ; y ++)
        {
            int z = c - x - y;
            if(y <= z && z <= b)
            {
                cout << "{" << x << "," << y << "," << z <<"}
";
                gasit = 1;
            }
        }
    if(!gasit)
        cout << "nu exista
";
}

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 #2811 Triplete

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2811 Triplete 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!