Определение цифрового корня заданного числа

Для n > 0 цифровой корень равен 1 + (n − 1) mod 9; для нуля ответ 0. Формула следует из сохранения остатка по модулю 9 при суммировании цифр.

Короткий ответ

Что ответить на собеседовании

Для n > 0 цифровой корень равен 1 + (n − 1) mod 9; для нуля ответ 0. Формула следует из сохранения остатка по модулю 9 при суммировании цифр.

Подробный разбор

Ответ с пояснениями

Условие

Цифровой корень – это результат многократного суммирования цифр числа до получения одноцифрового результата. Дано неотрицательное целое n. Необходимо последовательно складывать все его цифры; если полученная сумма состоит более чем из одной цифры, процесс повторяется, пока не останется однозначное число. На вход подаётся неотрицательное целое число. Примеры: 16 --> 1 + 6 = 7 942 --> 9 + 4 + 2 = 15 --> 1 + 5 = 6 132189 --> 1 + 3 + 2 + 1 + 8 + 9 = 24 --> 2 + 4 = 6 493193 --> 4 + 9 + 3 + 1 + 9 + 3 = 29 --> 2 + 9 = 11 --> 1 + 1 = 2

Ответ

Для n > 0 цифровой корень равен 1 + (n − 1) mod 9; для нуля ответ 0. Формула следует из сохранения остатка по модулю 9 при суммировании цифр.

function digitalRoot(n) {
  if (!Number.isSafeInteger(n) || n < 0) throw new RangeError('Некорректное число');
  return n === 0 ? 0 : 1 + (n - 1) % 9;
}

Примеры дают 7, 6, 6 и 2. Положительное число, кратное девяти, имеет корень 9, а не 0 — поэтому используется сдвиг на единицу. Для безопасных целых Number время O(1). Большие числа нужно передавать как BigInt либо десятичную строку, не теряя цифры при преобразовании.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее