Pular para o conteúdo
🛠️ToolsShed

Digital Root Calculator

Calcule a raiz digital de qualquer inteiro somando repetidamente seus dígitos. Mostra o processo passo a passo e a persistência aditiva.

Raiz digital aditiva: Some os dígitos repetidamente até que reste um único dígito.

Raiz digital multiplicativa: Multiplique os dígitos repetidamente até que reste um único dígito.

Sobre esta ferramenta

A raiz digital é o dígito único que você obtém ao somar repetidamente os dígitos de um número até que reste apenas um dígito. Este processo é fundamental na numerologia, aritmética modular e em quebra-cabeças matemáticos, e revela a impressão digital subjacente de qualquer número inteiro. A Calculadora de Raiz Digital automatiza este processo iterativo, mostrando-lhe cada etapa e o número total de reduções necessárias, conhecido como persistência aditiva.

Para usá-la, basta digitar qualquer número inteiro positivo e a ferramenta exibe a sequência completa de redução—como os dígitos se combinam em cada estágio—juntamente com o resultado final de um único dígito e uma contagem de quantas iterações foram necessárias. É útil para estudantes aprendendo sobre somas de dígitos, educadores demonstrando propriedades numéricas, e qualquer pessoa curiosa pela estrutura recursiva oculta nos números grandes.

Uma visão útil é que as raízes digitais se conectam com a divisão por 9: a raiz digital de um número é congruente ao número módulo 9 (com tratamento especial para múltiplos de 9). Todos os cálculos são executados localmente no seu navegador, portanto você pode explorar as raízes digitais de números que desejar sem deixar seu dispositivo.

Perguntas Frequentes

Implementação de Código

def digit_sum(n: int) -> int:
    return sum(int(d) for d in str(abs(n)))

def digital_root(n: int) -> int:
    """Returns the additive digital root (1-9, or 0 for 0)."""
    if n == 0:
        return 0
    remainder = n % 9
    return remainder if remainder != 0 else 9

def additive_persistence(n: int) -> tuple[int, list[int]]:
    steps = [n]
    count = 0
    while n >= 10:
        n = digit_sum(n)
        steps.append(n)
        count += 1
    return count, steps

def multiplicative_digital_root(n: int) -> tuple[int, list[int]]:
    steps = [n]
    count = 0
    while n >= 10:
        product = 1
        for d in str(n):
            product *= int(d)
        n = product
        steps.append(n)
        count += 1
    return count, steps

n = 493
print(f"Digital root of {n}: {digital_root(n)}")
persistence, steps = additive_persistence(n)
print(f"Steps: {' -> '.join(map(str, steps))}")
print(f"Additive persistence: {persistence}")

Comments & Feedback

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