Fişierul intrare/ieşire:sir5.in, sir5.outSursăOJI 2005 clasa a 6-a
AutorDan Grigoriu, Isabela ComanAdăugată deIsabela_comanComan Isabela Patricia Isabela_coman
Timp execuţie pe test1 secLimită de memorie16384 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise

Sir5

Atentie! Aceasta problema este modificata fata de cea originala. Sortarea valorilor este diferita!

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 sir5.in se citeşte numărul k.

Date de ieşire

a) Pe prima linie a fisierului sir5.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

sir5.insir5.outExplicaţ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; pentru numere care au aceeasi cifra, se va pastra ordinea dinsirul initial.
Î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.
25 apare in sirul initial inaintea lui 2, deci il vom trece primul.
587
56 13 16 25 62 84 5 2 0
0 13 16 25 2 56 5 62 84
 
Trebuie sa te autentifici pentru a trimite solutii. Click aici