Narcissistic Number Checker
Verifique se um número é narcísico (número Armstrong) e encontre todos os números narcísicos até um determinado limite.
Encontrar todos os números narcisistas até
O que é um Número Narcísico?
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.
Sobre esta ferramenta
Um número narcisista (também chamado de número de Armstrong) é um número que equivale à soma de seus próprios dígitos elevados à potência do número de dígitos. Por exemplo, 153 é narcisista porque 1³ + 5³ + 3³ = 153. Esses números são curiosidades matemáticas intrigantes que aparecem raramente no sistema numérico, tornando-os divertidos de explorar e compreender.
Para usar este verificador, basta inserir qualquer inteiro positivo e a ferramenta determinará instantaneamente se é narcisista. O cálculo é realizado totalmente em seu navegador, portanto não há necessidade de criar uma conta ou se preocupar com sua privacidade. Funciona com números pequenos como 9 e também com números maiores, ajudando você a verificar propriedades matemáticas rapidamente.
Os números narcisistas são apreciados por entusiastas de matemática, alunos que estudam teoria dos números e programadores que exploram matemática computacional. A lista completa de números narcisistas é finita e bem documentada, tornando esta ferramenta útil para verificação e exploração educacional de padrões matemáticos.
Perguntas Frequentes
Implementação 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.