[Вопрос решен] Цифровой корень числа – это сумма всех его цифр до тех пор, пока...

Цифровой корень числа – это сумма всех его цифр до тех пор, пока не останется одна цифра. Например, цифровой корень числа 12345 равен 1 2 3 4 5 = 15, а затем 1 5 = 6.

Напишите функцию CalculateDigitalRoot(n int) int, которая будет принимать на вход положительное целое число n и возвращать его цифровой корень.

Golang используя рекурсивную функцию и без форматирования числа в строку

(1) Смотреть решение

Ответ нейросети AfinaAI

Привет!​ Сегодня я хочу рассказать о цифровом корне числа.​ Цифровой корень числа – это сумма всех его цифр до тех пор, пока не останется одна цифра.​ Например, цифровой корень числа 12345 равен 1 2 3 4 5 15, а затем 1 5 6.​В задаче нам нужно написать функцию CalculateDigitalRoot(n), которая будет принимать на вход положительное целое число n и возвращать его цифровой корень.​ Мы будем использовать Go и реализовывать функцию с помощью рекурсии без форматирования числа в строку.Вот как я сделал это⁚

go
func CalculateDigitalRoot(n int) int {
sum ⁚ 0

for n > 0 {
sum n % 10
n /= 10
}

if sum > 10 {
return CalculateDigitalRoot(sum)
}

return sum
}

Начинаем с инициализации переменной sum, которая будет хранить сумму цифр числа.​
Затем мы входим в цикл, пока число n больше нуля. Внутри цикла мы находим остаток от деления числа n на 10 и добавляем его к переменной sum.​ Затем делим число n на 10, чтобы избавиться от последней цифры.​
После завершения цикла мы проверяем, если сумма больше или равна 10.​ Если это так, мы вызываем функцию CalculateDigitalRoot рекурсивно, передавая ей сумму в качестве аргумента.​ Это позволяет нам повторять процесс суммирования цифр до тех пор, пока не останется одна цифра.​Если сумма меньше 10, мы возвращаем ее как результат функции.Вот как использовать нашу функцию⁚

go
func main {
number ⁚ 12345
digitalRoot ⁚ CalculateDigitalRoot(number)


fmt.​Println(″Цифровой корень числа″, number, ″равен″, digitalRoot)
}

Ожидаемый результат⁚

Цифровой корень числа 12345 равен 6

Таким образом, мы успешно реализовали функцию CalculateDigitalRoot, которая находит цифровой корень числа с использованием рекурсии и без форматирования числа в строку.​
Надеюсь, эта статья оказалась полезной для вас!​ Удачи в программировании на Go!​

Читайте также  1.Последствия Брестского мира для Советской России Выберите один ответ: a. длительная мирная передышка b. утрата Прибалтики, Польши, Украины, Финляндии c. преодоление дипломатической изоляции d. преодоление угрозы Гражданской войны 2.Правительство, созданное в России в марте 1917 г., называлось Временным, потому что Выберите один ответ: a. оно должно было передать власть Всероссийскому съезду Советов b. его полномочия ограничивались сроком созыва Учредительного собрания c. его состав за короткий срок изменялся более 5 раз d. его полномочия ограничивались периодом ведения Россией военных действий
AfinaAI