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
Pe prima linie a fişierului de ieşire sir4.out se vor afişa elementele tabloului a, în ordinea generării lor, separate prin câte un spaţiu.
Pe a doua linie a fişierului se vor afişa elementele tabloului a, în ordinea cerută la cerinţa a doua; elementele vor fi separate prin câte un spaţiu.
Restricţii
Numărul k este natural, 11<=k<=999
Exemple
sir4.in
sir4.out
Explicaţii
16
25 62 84 5 2 0
0 2 25 5 62 84
a) k*k=16*16=256; a[1]=25;
25*25=625; a[2]=62;
62*62=3844; a[3]=84
84*84=7056; a[4]=5;
5*5=25; a[5]=2;
2*2=4; a[6]=0
0*0=0 şi aici se opreşte generarea tabloului cu 6 elemente, care se afişează.
b) a[1]=25; prima sa cifră este 2; a[2]=62; prima sa cifră este 6; a[3]=84; prima sa cifră este 8; a[4]=5; prima sa cifră este 5; a[5]=2; prima sa cifră este 2; a[6]=0; prima sa cifră este 0.
În urma sortării acestor prime cifre: 2 (asociată cu a[1]), 6 (asociată cu a[2]), 8 (asociată cu a[3]), 5 (asociată cu a[4]), 2 (asociată cu a[5]) şi 0 (asociată cu a[6]), 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; elementele din a se vor afişa în aceasta ordine, sau în ordinea: 0, 2, 25, 5, 62, 84.