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 |
|
| Timp de execuție pe test | 0.05 sec | Limită de memorie | 2048 KB |
| Scorul tău | N/A | Dificultate | N/A |
Vezi soluțiile trimise | Statistici
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 |
|
Poți vedea testele pentru această problemă accesând