Vai al contenuto
🛠️ToolsShed

Digital Root Calculator

Calcola la radice digitale di qualsiasi numero intero sommando ripetutamente le sue cifre. Mostra il processo passo dopo passo e la persistenza additiva.

Radice digitale additiva: Somma ripetutamente le cifre finché non rimane una sola cifra.

Radice digitale moltiplicativa: Moltiplica ripetutamente le cifre finché non rimane una sola cifra.

Informazioni sullo strumento

La radice digitale è la singola cifra che ottieni sommando ripetutamente le cifre di un numero finché non rimane una sola cifra. Questo processo è fondamentale in numerologia, aritmetica modulare e indovinelli matematici, e rivela l'impronta digitale sottostante di qualsiasi numero intero. Il Calcolatore di Radice Digitale automatizza questo processo iterativo, mostrandoti ogni passo e il numero totale di riduzioni richieste, conosciuto come persistenza additiva.

Per usarlo, basta inserire un qualsiasi numero intero positivo e lo strumento mostra la sequenza completa di riduzione—come le cifre si combinano in ogni fase—insieme al risultato finale di una sola cifra e al conteggio di quante iterazioni sono state necessarie. È utile per studenti che imparano le somme di cifre, educatori che dimostrano proprietà numeriche, e chiunque sia curioso della struttura ricorsiva nascosta nei numeri grandi.

Un'intuizione utile è che le radici digitali si collegano alla divisione per 9: la radice digitale di un numero è congruente al numero modulo 9 (con trattamento speciale per i multipli di 9). Tutti i calcoli vengono eseguiti localmente nel tuo browser, quindi puoi esplorare le radici digitali di qualsiasi numero desideri senza lasciare il tuo dispositivo.

Domande Frequenti

Implementazione del Codice

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.