Fişierul intrare/ieşire:cmmp.in, cmmp.outSursăad-hoc
AutorAdăugată destocarulCosmin-Mihai Tutunaru stocarul
Timp execuţie pe test0.5 secLimită de memorie65536 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Cmmp

Pentru orice număr natural x definim operaţia „cmmp” prin care adăugăm cifre la stânga lui x, la dreapta lui x sau la ambele capete ale lui x, astfel încât numărul obţinut să fie pătrat perfect şi cât mai mic posibil. 

Se dau N numere naturale s1,s2,…,sN.

Cerinţă

Să se determine pentru fiecare număr s[k], 1 ≤ k ≤ N, cel mai mic pătrat perfect care se poate obţine prin aplicarea operaţiei „cmmp”.

Date de intrare

Fişierul de intrare cmmp.in conţine pe primul rând numărul N. Pe linia a doua sunt scrise N numere naturale separate prin câte un spaţiu.

Date de ieşire

În fişierul de ieşire cmmp.out vor fi scrise, în ordinea corespunzătoare citirii şi separate prin câte un spaţiu, cele N numere obţinute din numerele date prin aplicarea operaţiei „cmmp”.

Restricţii

  • 1 ≤ N ≤ 10^5
  • 0 ≤ s[k] < 10^5
  • Pentru 20% din teste 0 ≤ s[k] < 10^2
  • Pentru 20% din teste 0 ≤ s[k] < 10^3
  • Daca numarul dat este patrat perfect, atunci operatia "cmmp" il lasa neschimbat.

Exemplu

cmmp.incmmp.out
4
21 0 19 80
121 0 196 2809

Explicaţie

121 = 112, 0 = 02, 196 = 142, 2809 = 532

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?