Pentru un număr natural dat n, numim ParImpar următoarea operație:
dacă n este par, rezultatul este numărul scris cu cifrele pare ale lui n – de exemplu, pentru 410722 rezultatul este 4022;
dacă n este impar, rezultatul este numărul scris cu cifrele impare ale lui n – de exemplu, pentru 357103 rezultatul este 35713.
Se citesc două numere naturale. Să se afișeze numărul pentru care rezultatul operației ParImpar este mai mare.
Va rog mult! problema #2289 ParImpar de pe pbinfo!!!
Răspunsuri la întrebare
Răspuns de
2
In situatii ca asta cand trebuie sa faci 100000 de operatii cu cifrele unui numar, mie imi place sa imi fac un vector cu cifrele numarului, ca sa le pot lua individual si frumos.
Asta cel mai usor se face daca iti faci numerle alea ca siruri de caractere.
Asa ca eu am folosit ceva mai multe variabile:
x si y pentru numere, inca un x si y pentru cum or sa fie ele dupa parImpar, si apoi cate un sir de caractere care va fi echivalentul numerelor de mai sus, efectiv daca x va fi 123456, noi il vom avea si pe x ca numar si sirul de caractere {'1','2','3','4','5','6'}.
Intai ne citim numerele.
Apoi le trecem si in forma de sir de caractere.
Apoi aplicam parImpar. O scurtatura ca sa faccem parImpar e asa. Luam pentru fiecare numar un sir nou de caractere, initial gol, si apoi luam la rand cifrele din numarul initial cu un for, daca cifra curenta are aceeasi paritate(par sau impar) ca si numarul original atunci o adaugam in sirul care va fi rezultatul parImpar!
Facem asta pentru ambele numere si apoi le transformam inapoi in numere, pentru ca nu prea merge sa le comparam ca siruri de caractere.
Apoi facem comparatia si afisam ca atare!
Asta cel mai usor se face daca iti faci numerle alea ca siruri de caractere.
Asa ca eu am folosit ceva mai multe variabile:
x si y pentru numere, inca un x si y pentru cum or sa fie ele dupa parImpar, si apoi cate un sir de caractere care va fi echivalentul numerelor de mai sus, efectiv daca x va fi 123456, noi il vom avea si pe x ca numar si sirul de caractere {'1','2','3','4','5','6'}.
Intai ne citim numerele.
Apoi le trecem si in forma de sir de caractere.
Apoi aplicam parImpar. O scurtatura ca sa faccem parImpar e asa. Luam pentru fiecare numar un sir nou de caractere, initial gol, si apoi luam la rand cifrele din numarul initial cu un for, daca cifra curenta are aceeasi paritate(par sau impar) ca si numarul original atunci o adaugam in sirul care va fi rezultatul parImpar!
Facem asta pentru ambele numere si apoi le transformam inapoi in numere, pentru ca nu prea merge sa le comparam ca siruri de caractere.
Apoi facem comparatia si afisam ca atare!
Anexe:
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Geografie,
8 ani în urmă
Franceza,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă