Atenție! Aceasta este o versiune veche a paginii., scrisă la 2023-02-22 18:56:17.000.
Revizia anterioară   Revizia următoare  

Fișierul intrare/ieșire sir4.in, sir4.out Sursă OJI 2005 clasa a 6-a
Autor Dan Grigoriu Adăugată de avatar Isabela_coman Coman Isabela Patricia Isabela_coman
Timp de execuție pe test 0.05 sec Limită de memorie 2048 KB
Scorul tău N/A Dificultate N/A
open book Poți vedea testele pentru această problemă accesând atașamentele .

Sir4 (clasa a 6-a)

Atentie! Se va evalua sortarea conform exemplului (vezi explicatiile din exemplu)!

Se cunoaște un număr natural k. Dorim să obținem un tablou unidimensional a, cu elemente naturale constituite astfel: a(1) = un număr de două cifre (cifra zecilor a lui a(1) este cifra sutelor produsului k*k, iar cifra unităților lui a(1) este cifra zecilor produsului k*k).
Pentru i>1, a(i) se obține astfel: a(i) = un număr de două cifre ( cifra zecilor a lui a(i) este cifra sutelor produsului a(i-1)*a(i-1), iar cifra unităților lui a(i) este cifra zecilor produsului a(i-1)*a(i-1) ).
Procesul de generare a termenilor tabloului se încheie în momentul când este generat un număr ce a mai fost generat înainte. Ultimul număr (cel ce se repetă) nu face parte din tablou.

Observație

Este posibil ca numerele numite în text ca fiind de “două cifre” să aibă de fapt doar o cifră, în cazul în care cifra zecilor lor este 0; ele pot fi chiar și 0.

Cerință

Scrieți un program care:
a) să afișeze elementele tabloului obținut;
b) să afișeze elementele tabloului obținut, dar sortate crescător după prima lor cifră (cea mai din stânga).

Precizări

1) La cerința a doua: dacă două sau mai multe elemente din tabloul a au aceeași primă cifră, atunci aceste elemente se pot afișa în orice ordine ce respectă cerința. În exemplul de mai jos, afișarea pentru cerința a doua putea fi și sub forma: 0 2 25 5 62 84, adică am interschimbat 2 cu 25, pentru că ambele au prima cifră 2; în acest caz, alte posibilități de afișare nu mai sunt.
2) Pentru prima cerință rezolvată corect se atribuie 60% din punctaj, iar pentru a doua, încă 40% din punctaj.

Date de intrare

De pe prima linie a fișierului de intrare sir4.in se citește numărul k.

Date de ieșire

a) Pe prima linie a fisierului sir4.out se vor afișa elementele tabloului a, în ordinea generării lor, separate de un spațiu.
b) Pe a doua linie a fiserului se vor afișa elementele tabloului a, în ordinea cerută la cerința a doua; elementele vor fi separate de câte un spațiu.

Restricții

Numărul k este natural, 11<=k<=999

Exemplu

sir4.in sir4.out Explicație
16
25 62 84 5 2 0 0 25 2 5 62 84
a) k*k=16*16=256; a1=25; 25*25=625; a2=62; 62*62=3844; a3=84 84*84=7056; a4=5; 5 * 5=25; a5=2; 2 * 2=4; a6=0
0*0=0 și aici se oprește generarea tabloului cu 6 elemente, care se afișează.
b) a1=25; prima sa cifră este 2; a2=62; prima sa cifră este 6; a3=84; prima sa cifră este 8; a4=5; prima sa cifră este 5; a5=2; prima sa cifră este 2; a6=0; prima sa cifră este 0.
Vom sorta aceste valori dupa prima cifra; daca prima cifra va fi egala, vor fi trecute
mai intai numere de 2 cifre, in ordine crescatoare iar mai apoi numarul de o cifra.
În urma sortării acestor prime cifre: 2 (asociată cu a1), 6 (asociată cu a2),
8 (asociată cu a3), 5 (asociată cu a4), 2 (asociată cu a5) și 0 (asociată cu a6),
se obține ordinea nouă a acestor numere: 0, 2, 2, 5, 6, 8, asociate respectiv cu
elementele din tabloul a: 0, 25, 2, 5, 62, 84; Observam ca avem 2 numere a caror prima cifra este 2.
Vom printa mai intai valoare de 2 cifre 25, si mai apoi valoarea 2.
863
76 77 92 46 11 12 14 19 36 29 84 5 2 0
0 11 12 14 19 29 2 36 46 5 76 77 84 92
 

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 2 categorii