Ученикам первого класса дополнительно дают стакан молока и пирожок, если вес первоклассника менее 30 кг. В первых классах школы учится [latex]n[/latex] учеников. Стакан молока имеет емкость 200 мл, а упаковки молока – 0.9 л. Определить количество дополнительных пакетов молока и пирожков, необходимых каждый день.
Тесты
Количество детей | Вес | Количество упаковок молока | Количество пирожков |
3 | 30 29 30 | 1 | 1 |
5 | 25 41 56 20 20 | 1 | 3 |
4 | 30 30 30 30 | 0 | 0 |
7 | 25 26 27 28 29 23 24 | 2 | 7 |
Код
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#include <iostream> #include <cmath> using namespace std; int main() { int p=0; //пирожки int n, k; //количество детей, вес и упаковки молока double m, u, w; cin >> n; m=0.2; u=0.9; for(int i=0; i<n; i++) { cin >> w; if (w<30) p++; if(w>=30) p=p+0; } k= ceil(p*m/u); cout << k << " " << p; return 0; } |
Решение
Возьмем количество пирожков за счетчик. Используя for найдем количество пирожков для детей, вес которых не превышает 30кг.
По количеству пирожков мы можем найти количество упаковок молока. При этом мы можем получить не целое число. Чтобы избежать этого, подключаем библиотеку <cmath> и используем округление вверх ceil .
Посмотреть код на ideone можна здесь.
Проверить правильность на e-olimp можна здесь.
Засчитываю. Но фраза «Возьмем количество пирожков за счетчик» не самое аккуратное выражение Вашей мысли.
Кстати, «за счётчик» лучше брать именно счётчик. В данном случае счётчик числа детей с нужным весом. То, что количество детей совпадает с количеством пирожков ситуации не меняет. Если норма пирожков на душу населения изменится, придётся весь «алгоритм» менять?