Rezolvare completă PbInfo #2674 IncDecRec

Cerința

Scrieți funcția recursivă IncDecRec care primind ca parametru un număr natural n, returnează numărul obținut din n prin scăderea cu 1 a fiecărei cifre impare și creșterea cu 1 a fiecărei cifre pare.

Restricții și precizări

  • 0 ≤ n ≤ 999.999.999
  • Numele funcției este IncDecRec.
  • Se recomandă utilizarea recursivității în rezolvarea problemei. De asemenea, se recomandă să nu se folosească alte funcții suplimentare.

Exemplu

IncDecRec(4321) = 5230.

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

int IncDecRec(int n)
{
    if (n < 10)
    {
        if (n % 2 == 1) return n - 1;
        return n + 1;
    }
    if (n % 2 == 1) return IncDecRec(n / 10) * 10 + (n % 10 - 1);
    return IncDecRec(n / 10) * 10 + (n % 10 + 1);
}

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 #2674 IncDecRec

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