Дано число. В этом числе необходимо изменить одну цифру таким образом, чтобы новое число делилось на 3 и было бы максимально возможным. В исходном числе нужно обязательно изменить одну цифру, даже если исходное число уже делилось на 3. Программа получает на вход одно длинное натуральное число. Длинна числа может достигать 100 цифр. Программа должна вывести другое натуральное число, удовлетворяющее условиям: 1) Новое число должно отличаться от данного ровно одной цифрой. 2) Новое число должно делиться на 3. 3) Новое число должно быть максимально возможным из всех таких чисел. Пример: Ввод: 123 Вывод:723

28 Мая 2021 в 19:45
136 +1
0
Ответы
1

Пример решения на Python:

num = input().strip()
# Функция для проверки делимости числа на 3
def divisible_by_3(n):
return sum(int(x) for x in n) % 3 == 0
# Находим самую большую цифру и её индекс
max_digit = max(num)
max_index = num.rfind(max_digit)
# Пытаемся заменить эту цифру на каждую другую цифру от 9 до 0
for i in range(9, -1, -1):
new_num = nummax_index + str(i) + nummax_index+1
if i != int(max_digit) and divisible_by_3(new_num):
print(new_num)
break

Пример использования:

Ввод: 123
Вывод: 723
17 Апр в 17:59
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 588 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир