Saltar al contenido
🛠️ToolsShed

Narcissistic Number Checker

Verifica si un número es narcisista (número de Armstrong) y encuentra todos los números narcisistas hasta un límite dado.

Encontrar todos los números narcisistas hasta

¿Qué es un número narcisista?

A narcissistic number (Armstrong number) equals the sum of its digits each raised to the power of the digit count. Example: 153 = 1^3 + 5^3 + 3^3 = 153.

Acerca de esta herramienta

Un número narcisista (también llamado número de Armstrong) es un número que equivale a la suma de sus propios dígitos elevados a la potencia del número de dígitos. Por ejemplo, 153 es narcisista porque 1³ + 5³ + 3³ = 153. Estos números son curiosidades matemáticas intrigantes que aparecen raramente en el sistema numérico, lo que los hace divertidos de explorar y comprender.

Para usar este verificador, simplemente ingresa cualquier entero positivo y la herramienta determinará instantáneamente si es narcisista. El cálculo se realiza completamente en tu navegador, por lo que no necesitas crear una cuenta ni preocuparte por tu privacidad. Funciona con números pequeños como el 9 y también con números grandes, ayudándote a verificar propiedades matemáticas rápidamente.

Los números narcisistas son apreciados por entusiastas de las matemáticas, estudiantes que aprenden teoría de números y programadores que exploran matemáticas computacionales. La lista completa de números narcisistas es finita y bien documentada, lo que hace que esta herramienta sea útil para la verificación y exploración educativa de patrones matemáticos.

Preguntas Frecuentes

Implementación de Código

def is_narcissistic(n: int) -> bool:
    """Check if n is a narcissistic (Armstrong) number."""
    digits = str(n)
    power = len(digits)
    return sum(int(d) ** power for d in digits) == n

def find_narcissistic(limit: int) -> list[int]:
    """Find all narcissistic numbers up to limit."""
    return [n for n in range(limit + 1) if is_narcissistic(n)]

# Check specific numbers
for n in [153, 370, 371, 407, 1634, 9474]:
    digits = [int(d) for d in str(n)]
    power = len(str(n))
    breakdown = " + ".join(f"{d}^{power}" for d in digits)
    result = sum(d ** power for d in digits)
    print(f"{n}: {breakdown} = {result} {'✓' if result == n else '✗'}")

# Find all up to 10000
print("\nAll narcissistic numbers up to 10000:")
print(find_narcissistic(10000))

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.