Введём новую операцию «зачёркивание» —
удаление из числа любой одной цифры так, чтобы оставшиеся в числе цифры соединились, образовав новое число, не начинающееся с 0
. Например, из числа 1023
одной такой операцией можно получить числа 123
, 103
и 102
.
Никита применил не более двух операций зачёркивания к числу 123498765
и получил в результате число, делящееся на 36
. Сколько различных чисел мог получить Никита?
python
def check_divisibility(n):
# Функция для проверки деления числа n на 36
if n % 36 == 0:
return True
return False
def count_numbers():
count = 0 # Счетчик различных чисел, делящихся на 36
number = 123498765 # Исходное число
# Внешний цикл для перебора первых зачеркнутых цифр
for i in range(len(str(number))):
# Внутренний цикл для перебора вторых зачеркнутых цифр
for j in range(i+1, len(str(number))):
# Проверка на совпадение первой и второй зачеркнутой цифры
if str(number)[i] == str(number)[j]:
continue
# Формирование нового числа без определенных цифр
new_number = ''.join([str(number)[x] for x in range(len(str(number))) if x != i and x != j])
# Проверка деления нового числа на 36
if check_divisibility(int(new_number)):
count += 1
return count
result = count_numbers()
print(result)
Мы задаем начальное число как 123498765 и применяем описанный алгоритм. В результате получаем ответ: Никита может получить 6 различных чисел, делящихся на 36.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет