Un nombre d’n dígits és un nombre Armstrong si la suma de les potències n-èsimes dels seus dígits és igual al propi nombre.
Per exemple, 153 és un nombre Armstrong ja que 13+53+33=153 i també 8208 és un nombre d’Armstrong ja que 84+24+04+84=8208.
Escriu un programa que donat un flux de naturals acabat en 0 escrigui en el mateix ordre en que apareixen en el flux els nombres d’Armstrong.
Entrada
L’entrada consisteix en un flux de naturals acabat en 0.
Sortida
Escriu els nombres d’Armstrong que apareixen en el flux en el mateix ordre en que apareixen en el flux. En cas que no hi hagi cap nombre d’Armstrong s’ha d’escriure NO
.
Observació
Per resoldre aquest exercici NO es poden usar taules, vectors ni cadenes de caràcters (les cadenes de caràcters NOMÉS es poden usar per escriure pel canal de sortida la paraula NO
).
Per resoldre aquest exercici SÍ podeu usar la funció pow de la biblioteca cmath. Recordeu que pow(a, b) = ab.
Input
11 370 13 371 17 1634 19 23 29 54748 31 37 41 0
Output
370 371 1634 54748
Input
1 2 3 4 5 6 7 8 9 153 370 371 407 1634 8208 9474 54748 92727 0
Output
1 2 3 4 5 6 7 8 9 153 370 371 407 1634 8208 9474 54748 92727
Input
11 101 1001 10001 100001 1000001 10000001 0
Output
NO