Задача
Известно, что в школе не менее чем [latex]k_1[/latex] учеников, но не более чем [latex]k_2[/latex] учеников. Также известно, что каждый мальчик дружит с [latex]n[/latex] девочками, а каждая девочка с [latex]m[/latex] мальчиками. Какое минимальное количество учеников может быть в школе, и сколько в школе мальчиков и девочек?
Тесты:
№ | Ввод | Вывод |
1 | 20 30 4 5 | 27 15 12 |
2 | 40 50 5 4 | 45 20 25 |
Код программы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#include <iostream> using namespace std; int main() { int k1, k2, n, m; int b, g; //b-boys;g-girls cin >> k1 >> k2 >> n >> m; for (g = n; true; g++) { b = g * m / n; if (((g * m) % n) == 0 && b + g >= k1) break; // перебираем варианты пока количество мальчиков не станет целым а сумма всех учеников будет больше k1 } cout << b + g << " " << b << " " << g << endl; return 0; } |
Решение:
Увеличиваем количество девочек на 1 пока количество мальчиков по формуле [latex]b = g \cdot m / n[/latex] не станет целочисельным значением и сумма мальчиков и девочек будет больше или равна минимальному возможному количеству учеников [latex]k_1[/latex].
- Условие задачи можно найти на сайте e-olymp.
- Ссылка на решение задачи на ideone.com здесь.
- Ссылка на полностью решенную задачу здесь.