Digital Root Calculator
Вычислите цифровой корень целого числа путём многократного суммирования его цифр. Показывает пошаговый процесс и аддитивную устойчивость.
Аддитивный цифровой корень: Суммируйте цифры последовательно, пока не останется одна цифра.
Мультипликативный цифровой корень: Умножайте цифры последовательно, пока не останется одна цифра.
Об этом инструменте
Цифровой корень — это однозначное число, которое получается путём многократного сложения цифр исходного числа до тех пор, пока не останется одна цифра. Этот процесс лежит в основе нумерологии, модульной арифметики и математических загадок, открывая скрытый цифровой отпечаток любого целого числа. Калькулятор цифрового корня автоматизирует этот итеративный процесс, показывая каждый шаг и общее количество необходимых сокращений, известное как аддитивная персистентность.
Чтобы его использовать, просто введите любое положительное целое число, и инструмент покажет полную последовательность сокращений—как цифры комбинируются на каждом этапе—вместе с окончательным однозначным результатом и подсчётом количества требуемых итераций. Это полезно для учащихся, изучающих суммы цифр, преподавателей, демонстрирующих свойства чисел, и для всех, кто любопытствует о рекурсивной структуре, скрытой в больших числах.
Полезный факт: цифровые корни связаны с делением на 9 — цифровой корень числа конгруэнтен этому числу по модулю 9 (с особой обработкой для кратных 9). Все вычисления выполняются локально в вашем браузере, поэтому вы можете исследовать цифровые корни любых чисел, не выходя из браузера.
Часто задаваемые вопросы
Реализация кода
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.