sir

Time limit: 0.2s Memory limit: 4MB Input: sir.in Output: sir.out

Se dă numărul natural kk. Dorim să obţinem un tablou unidimensional aa, cu elemente naturale constituite astfel: a1=a_1 = un număr de două cifre (cifra zecilor a lui a1a_1 este cifra sutelor produsului kkk \cdot k, iar cifra unităţilor lui a1a_1 este cifra zecilor produsului kkk \cdot k).

Pentru i>1i > 1, aia_i se obţine astfel: ai=a_i = un număr de două cifre (cifra zecilor a lui aia_i este cifra sutelor produsului ai1ai1a_{i-1} \cdot a_{i-1}, iar cifra unităţilor a lui aia_i este cifra zecilor produsului ai1ai1a_{i-1} \cdot 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.

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 00; ele pot fi chiar şi 00.

Cerință

Scrieţi un program care:

  1. să afişeze elementele tabloului obţinut;
  2. să afişeze elementele tabloului obţinut, dar sortate crescător după prima lor cifră (cea mai din stânga).

Date de intrare

Pe prima linie a fișierului de intrare sir.in se găsește kk.

Date de ieșire

  • Pe prima linie a fișierului de ieșire sir.out se vor afişa elementele tabloului aa, în ordinea generării lor, separate de un spaţiu.
  • Pe a doua linie se vor afişa elementele tabloului aa, în ordinea cerută la cerinţa a doua; elementele vor fi separate de câte un spaţiu

Restricții și precizări

  • 11k99911 \leq k \leq 999;
  • La cerinţa a doua: dacă două sau mai multe elemente din tabloul aa 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 840 \ 2 \ 25 \ 5 \ 62 \ 84, adică am interschimbat 22 cu 2525, pentru că ambele au prima cifră 22 în acest caz, alte posibilităţi de afişare nu mai sunt.
  • Pentru prima cerinţă rezolvată corect se atribuie 60%60\% din punctaj, iar pentru a doua, încă 40%40\% din punctaj.

Exemplu

sir.in

16

sir.out

25 62 84 5 2 0
0 25 2 5 62 84

Explicație

Cerința 1:

  • kk=1616=256k \cdot k = 16 \cdot 16 = 256; a1=25a_1 = 25;
  • 2525=62525 \cdot 25 = 625; a2=62a_2 = 62;
  • 6262=384462 \cdot 62 = 3844; a3=84a_3 = 84;
  • 8484=705684 \cdot 84 = 7056; a4=5a_4 = 5;
  • 55=255 \cdot 5 = 25; a5=2a_5 = 2;
  • 22=42 \cdot 2 = 4; a6=0a_6 = 0;
  • 00=00 \cdot 0 = 0 şi aici se opreşte generarea tabloului cu 6 elemente, care se afişează.

Cerința 2:

  • a1=25a_1 = 25; prima sa cifră este 22;
  • a2=62a_2 = 62; prima sa cifră este 66;
  • a3=84a_3 = 84; prima sa cifră este 88;
  • a4=5a_4 = 5; prima sa cifră este 55;
  • a5=2a_5 = 2; prima sa cifră este 22;
  • a6=0a_6 = 0; prima sa cifră este 00.
  • În urma sortării acestor prime cifre: 22 (asociată cu a1a_1), 66 (asociată cu a2a_2), 88 (asociată cu a3a_3), 55 (asociată cu a4a_4), 22 (asociată cu a5a_5) şi 00 (asociată cu a6a_6), se obţine ordinea nouă a acestor numere: 0,2,2,5,6,80, 2, 2, 5, 6, 8, asociate respectiv cu elementele din tabloul aa: 0,25,2,5,62,840, 25, 2, 5, 62, 84; elementele din aa se vor afişa în această ordine, sau în ordinea: 0,2,25,5,62,840, 2, 25, 5, 62, 84.

Log in or sign up to be able to send submissions!