Fácil+ · lógica de dígitos
Número de Armstrong
153 = 1³ + 5³ + 3³ — un número que es igual a la suma de sus dígitos elevados al número de dígitos. Para tres cifras, son cubos.
Problema
Entrada: un entero n (0 ≤ n ≤ 999).
Salida: Yes si n es igual a la suma de sus dígitos al cubo, No si no.
Ejemplo:
| Entrada | Salida |
|---|---|
153 | Yes |
100 | No |
Tu solución
Entrada personalizada para "Probar mi entrada"
La corrección se ejecuta por completo en tu navegador contra pruebas ocultas. Tu código se guarda localmente mientras escribes. Ctrl+Enter corrige.
¿Atascado? Pistas
Pista 1 — pelar y elevar
El mismo bucle que Suma de dígitos, pero sumando digit * digit * digit. Guarda el valor original para la comparación final.
Pista 2 — las respuestas conocidas
Los Armstrong de tres cifras son 153, 370, 371 y 407. Si tu código discrepa de esos cuatro, el fallo está en la acumulación, no en la comparación.
Solución (¡inténtalo primero!)
int n = int.Parse(Console.ReadLine());
int orig = n, sum = 0;
while (n > 0)
{
int digit = n % 10;
sum += digit * digit * digit;
n = n / 10;
}
Console.WriteLine(sum == orig ? "Yes" : "No");
Fíjate en la copia orig — el bucle destruye n, igual que en Número palíndromo. Siguiente: Suma de la diagonal.