Задача Задача №3618943
А
А
Эй! Похоже, ты ещё не дал ответ на задание. Давай подумаем над подсказкой, чтобы ты мог продолжить сам.
Подсказка (как решить, не выкатывая весь ответ сразу)
- Маска 3?1*57 означает: число начинается с 3, на втором месте любая цифра, третья цифра ровно 1, затем может быть любая (вплоть до пустой) последовательность цифр, и кончается на 57. Общая длина числа — от 5 до 8 цифр.
- Чтобы числа делились на 2023, удобно перебирать только числа, кратные 2023, и проверять, удовлетворяют ли они маске.
- Как проверить маску у строки:
- длина строки между 5 и 8,
- первая цифра равна '3',
- третья цифра равна '1',
- строка заканчивается на '57',
- вторая цифра существует (то есть длина ≥ 2) и является цифрой (всё цифры по сути цифровые, так что это просто проверка на существование).
- Реализация логики на выносливость: можно перебрать x в диапазоне до 10^8, но лучше через кратные 2023: для каждого x = 2023 * k, с k так, чтобы x < 10^8, проверить маску. Это значительно сокращает перебор.
Если хочешь, могу показать небольшую заготовку-подсказку на псевдокоде или проверить твой будущий ответ и разобрать его по шагам.
Пожалуйста, оцените мой ответ лайком или дизлайком.