Здесь показаны различия между двумя версиями данной страницы.
|
sch [2013/10/29 11:05] |
sch [2019/06/24 20:29] (текущий) |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| + | ====== Информатика ====== | ||
| + | ===== Московская командная олимпиада ===== | ||
| + | ==== Покупка цветов ==== | ||
| + | На День учителя Вася решил купить букет цветов. В магазине продаются ромашки по **A** рублей за штуку и гладиолусы по **B** рублей за штуку **(A < B)**. У Васи есть **C** рублей. Он хочет составить букет из **максимально возможного количества цветов**, и при этом **потратить как можно больше денег**. Другими словами, из всех букетов с максимально возможным количеством цветов он хочет выбрать самый дорогой, но **не дороже C** рублей. Помогите ему вычислить стоимость такого букета. | ||
| + | |||
| + | === Входные данные === | ||
| + | |||
| + | Вводятся три целых числа A, B, C (1 ≤ A < B ≤ 100, 0 ≤ C ≤ 1000). | ||
| + | |||
| + | === Выходные данные === | ||
| + | |||
| + | Выведите одно число — стоимость самого дорогого букета из максимального количества цветов. | ||
| + | |||
| + | === Примеры тестов === | ||
| + | |||
| + | == Входные данные == | ||
| + | 2 3 11 | ||
| + | == Выходные данные == | ||
| + | 11 | ||
| + | |||
| + | == Входные данные == | ||
| + | 3 5 10 | ||
| + | == Выходные данные == | ||
| + | 9 | ||
| + | |||
| + | === Принцип решения === | ||
| + | Возможный алгоритм решения: | ||
| + | == Рассмотрим частный случай решения задачи == | ||
| + | С = 136 р. | ||
| + | А = 25 р/шт. | ||
| + | В = 28 р/шт. | ||
| + | == Верное решение: == | ||
| + | А*2 + В*3 = 50 + 84 = 134 | ||
| + | == Составим наиболее простой (наиболее очевидный) алгоритм решения данной задачи. == | ||
| + | - Максимальное количество получаем складывая самые дешевые цветы пока их сумма не выйдет за пределы наличной суммы (С): | ||
| + | 25 + 25 + 25 + 25 + 25 = 125 < 136; | ||
| + | или 25 * 5 < 136; (5 - количество ромашек) | ||
| + | - Заменяем по одному дешевые цветы на более дорогие и проверяем общую сумму пока не достигнем максимально возможной величины: | ||
| + | А*2 + В*3 = 25*2 + 28*3 = 50 + 84 = 134 < 136; (в итоге букет состоит из 2 ромашек и 3 гладиолусов) | ||
| + | |||
| + | === Задание === | ||
| + | Составить блок-схему и написать программу | ||
| + | |||
| + | == Редактор блок-схем: Lucidchart == | ||
| + | [[http://www.lucidchart.com]] Для начала работы нажмите кнопку "Try it now" | ||
| + | == Редактор программного кода == | ||
| + | [[http://ideone.com/]] | ||
| + | === Вариант решения === | ||
| + | == Блок-схема == | ||
| + | [[http://www.lucidchart.com/documents/view/4db466d2-10f0-4d27-8d86-084c0a56d341]] | ||
| + | == Фрагмент программного кода == | ||
| + | [[http://ideone.com/4egxU]] | ||