Rezolvare BAC Informatica 2009 – Varianta 94 – Subiectul al III-lea problema 4
Mai jos puteti gasi rezolvarea problemei 4 de la subiectul III din varianta 94 pentru examenul de bacalaureat din anul 2009
Spor la lucru! Daca aveti intrebari nu ezitati sa le lasati in comentarii, va vom raspunde cat de repede putem 🙂
poate cineva sa explice codul? Daca mergi pe exemplu, adaugi pana la 6 in vector, dupa de ce mai faci de 2 ori n % 10? N-ar trebui sa iasa 259[restul de cifre] in loc de 257 dupa logica de aici?
Salut. Sigur. Dupa primul while vectorul ‘a’ o sa fie a = [1, 3, 4]. Ne oprim la 9 pentru ca a doua conditie din while (n % 10 < n / 10 % 10) este adevarata atata timp cat cifra curenta (n % 10) este mai mica decat urmatoarea cifra (n / 10 % 10). Cifra 9 nu respecta conditia asta pentru ca 9 > 6. Dupa acest while n = 257869 si a = [1, 3, 4]. Mergem pe else si adaugam ultima cifra din variabila n in a (in cazul acesta 9). Acum a = [1, 3, 4, 9], n = 25786. Salvam in c1 ultima cifra din n. Deci, c1 = 6, n = 2578. Parcurgem a pana cand gasim un element mai mare decat 6. Deci ne oprim cand i = 4, a[4] = 9, 9 > 6. In acest moment, punem 6 in loc de 9 in vector si punem in c1 cifra 9. Deci c1 = 9, a = [1, 3, 4, 6]. Adaugam c1 la n, n = 25789. In final scoatem element cu element din a si il bagam in n. Deci, n devine 257891346. Asta e solutia. Spor.