Python
Выписали все числа от 1 до 2022 подряд..... Помогите решить.
Выписали все числа от 1 до 2022 подряд, посчитали сумму цифр получившегося длинного числа, у полученного числа снова посчитали сумму цифр и так далее, пока не осталось однозначное число. Какое?
Два из трёх предыдущих ораторов гадали, гадали, да так и не угадали.
Всё элементарно вычисляется по признаку делимости на 9 и его следствиям.
Ответ:
Назовём цифровым корнем сумму, полученную по алгоритму, описанному в задаче: суммируем цифры суммы цифр, затем цифры получившейся суммы и т.д., пока не получим однозначное число.
Цифровой корень числа, делящегося нацело на 9, равен 9 (кроме 0, у которого 0, но нам этот случай неинтересен).
Цифровой корень числа, не делящегося нацело на 9, равен остатку от его деления на 9.
Цифровой корень суммы чисел равен цифровому корню суммы цифровых корней этих чисел (т.е. операция сложения коммутативна с операцией взятия цифрового корня).
Чему равен цифровой корень суммы последовательности из 9 любых подряд идущих чисел? Поскольку мы в ней имеем весь набор остатков от деления 9, сумма этой последовательности делится на 9, и её цифровой корень равен 9.
Поэтому можно спокойно исключить из суммирования все подряд идущие "девятки" чисел, т.е. с 1 по 9, с 10 по 18, и т.д. Последнее делящееся на 9 число = 2016.
Значит, осталось посчитать цифровой корень суммы чисел от 2017 до 2022. Их остатки от деления на 9 образуют последовательность от 1 до 6. Её сумма = 21, а по модулю 9 = 3. Это - и есть ответ.
Но как проверить, что мы не ошиблись в рассуждениях? Говнокодом на Питоне:
Всё элементарно вычисляется по признаку делимости на 9 и его следствиям.
Ответ:
3
Назовём цифровым корнем сумму, полученную по алгоритму, описанному в задаче: суммируем цифры суммы цифр, затем цифры получившейся суммы и т.д., пока не получим однозначное число.
Цифровой корень числа, делящегося нацело на 9, равен 9 (кроме 0, у которого 0, но нам этот случай неинтересен).
Цифровой корень числа, не делящегося нацело на 9, равен остатку от его деления на 9.
Цифровой корень суммы чисел равен цифровому корню суммы цифровых корней этих чисел (т.е. операция сложения коммутативна с операцией взятия цифрового корня).
Чему равен цифровой корень суммы последовательности из 9 любых подряд идущих чисел? Поскольку мы в ней имеем весь набор остатков от деления 9, сумма этой последовательности делится на 9, и её цифровой корень равен 9.
Поэтому можно спокойно исключить из суммирования все подряд идущие "девятки" чисел, т.е. с 1 по 9, с 10 по 18, и т.д. Последнее делящееся на 9 число = 2016.
Значит, осталось посчитать цифровой корень суммы чисел от 2017 до 2022. Их остатки от деления на 9 образуют последовательность от 1 до 6. Её сумма = 21, а по модулю 9 = 3. Это - и есть ответ.
Но как проверить, что мы не ошиблись в рассуждениях? Говнокодом на Питоне:
s = ''.join(map(str, range(1, 2023)))
print(s)
n = sum(map(int, s))
while n > 9: n = sum(map(int, str(n)))
print(n)
Сергей Михайленко
Верно.
Эдик Зайнуллин
У меня получается сумма значений цифр в ряду, полученном из натурального ряда от 1 до 2022 записанных подряд, равна 44305. То есть ответ 7
6
2
Сергей Михайленко
Почему?
3
start = 1
end = 2022
s = ''
for n in range(start, end + 1):
s += str(n)
length1 = str(sum([int(i) for i in s]))
print(length1) # 28155
length2 = str(sum([int(i) for i in length1]))
print(length2) # 21
length3 = str(sum([int(i) for i in length2]))
print(length3) # 3
Похожие вопросы
- Родители Лизы подключили пакет, содержащий N телевизионных каналов, пронумерованных числами от 1 до N
- Задача в Python? Помогите решить, не получается! Решить нужно без функций и методов. Только циклы и условные операторы.
- Пожалуйста, помогите решить задачу на Python. Упражнения 57,58,59,60.
- Помогите решить задачу на python! Упражнение 41,45,47.
- Помогите решить задачу на python! Упражнение 49,50,51,52,53.
- Пожалуйста помогите решить задачу на Упражнения 49,50,52,53. Срочно и быстро
- Пожалуйста, помогите решить задачу на Python. Упражнение 124, 125, 146
- Помогите решить задачку в Python (!)
- Помогите решить задачу на Python. Никак не могу решить задачу, больше дня не могу найти ответ! Никакой код не работает.
- Помогите решить задачу на питоне. пожалуйста.