
Вопрос задан 29.01.2025 в 21:43.
Предмет Информатика.
Спрашивает Рогов Максим.
В кафе мороженое продают по три шарика и по пять шариков. Можно ли купить ровно k
шариков мороженого?
Формат входных данных
На вход программе дается одно целое число k (0≤k≤109).
Формат выходных данных
Программа должна вывести «YES», если в кафе можно купить ровно k шариков, или «NO», если нет.
ОБЯЗАТЕЛЬНО НА C++
Ответы на вопрос

Отвечает Новосёлов Михаил.
Для решения этой задачи можно воспользоваться идеей проверки, можно ли представить число в виде суммы только множителей 3 и 5. Задача сводится к нахождению таких неотрицательных целых чисел и , чтобы .
Подход к решению
- Если делится на 3 или 5, то его можно легко набрать комбинацией этих шариков.
- Если больше 5, можно попробовать перебором проверить, можно ли выбрать такое количество шариков по 3 и по 5, чтобы в сумме получилось ровно .
- Основная идея заключается в том, что мы будем вычитать по 5 из до тех пор, пока оно не станет кратным 3 (или пока не станет меньше 0, тогда решения нет).
Алгоритм
- Начнем с и будем проверять, является ли кратным 3. Если да — выводим "YES".
- Если нет, вычитаем из по 5 до тех пор, пока не станет кратным 3 или не станет отрицательным.
- Если в процессе стал кратным 3 — выводим "YES". Если стал отрицательным — выводим "NO".
Пример кода на C++
Пояснение кода
- Сначала считываем число .
- Далее в цикле
while (k >= 0)
проверяем, делится ли на 3. Если делится, то можно собрать ровно шариков, и мы выводим "YES". - Если не делится на 3, уменьшаем на 5 и повторяем проверку.
- Если стал меньше нуля, значит, собрать ровно шариков невозможно, и мы выводим "NO".
Примеры работы
Вход:
Выход:
Вход:
Выход:
Вход:
Выход:
Обоснование правильности
Мы постепенно проверяем все возможные комбинации чисел 3 и 5 для заданного . Так как ограничено, алгоритм всегда завершается за приемлемое время.
Похожие вопросы









Топ вопросов за вчера в категории Информатика









Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili