Se consideră un număr natural nenul N
.
Cerința
Să se determine toate pătratele perfecte distincte care se obțin prin permutarea cifrelor numărului N
. Exemple:
- Pentru
N = 691
prin permutarea cifrelor sale se obțin numerele169
,196
,619
,691
,916
,961
din care3
sunt pătrate perfecte:169 = 13
2
,196 = 14
2
și961 = 31
2
. - Pentru
N = 1044
prin permutarea cifrelor sale se obțin numerele0144
,0414
,0441
,1044
,1404
,1440
,4014
,4041
,4104
,4140
,4401
,4410
din care2
sunt pătrate perfecte:144 = 12
2
,441 = 21
2
.
Date de intrare
Fișierul de intrare pcp.in
conține pe primul rând numărul natural N
.
Date de ieșire
Fișierul de ieșire pcp.out
va conține pe prima linie numărul P
reprezentând numărul de pătrate perfecte care se pot obține prin permutarea cifrelor numărului N
și apoi pe următoarele P
linii cele P
pătrate perfecte în ordine crescătoare. Dacă nu există niciun pătrat perfect ce se poate obține prin permutarea cifrelor lui N
se va afișa mesajul nu exista
.
Restricții și precizări
0 < N < 10
14
- Cifrele de
0
care prin permutarea cifrelor luiN
apar la începutul unui număr, nu se iau în considerare. - Pentru 20 de puncte,
1 ≤ N < 10.000
- Pentru 68 de puncte,
10
4
≤ N < 10
13
- Pentru 12 de puncte,
10
13
≤ N < 10
14
Exemplul 1:
pcp.in
691
pcp.out
3 169 196 961
Exemplul 2:
pcp.in
1044
pcp.out
2 144 441
Exemplul 3:
pcp.in
202050
pcp.out
4 225 2025 22500 202500
Exemplul 4:
pcp.in
2023
pcp.out
nu exista