Задача на e-olimp.
Условие
Ученикам первого класса дополнительно дают стакан молока и пирожок, если вес первоклассника менее 30 кг. В первых классах школы учится n учеников. Стакан молока имеет емкость 200 мл, а упаковки молока – 0,9 л. Определить количество дополнительных пакетов молока и пирожков, необходимых каждый день.
Решение
Возьмем количество пирожков за счетчик. Используя for найдем количество пирожков для детей, вес которых не превышает 30кг. По количеству пирожков мы можем найти количество упаковок молока. При этом мы можем получить не целое число. Чтобы избежать этого, используем метод ceil из класса Math для округления до целого.
Код
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
class Main { public static void main (String[] args) throws java.lang.Exception { Scanner in = new Scanner(System.in); int n = in.nextInt(); int pie = 0; for (int i=0; i<n; i++) { int w = in.nextInt(); if (w < 30) pie++; } int pack = (int)Math.ceil((pie*0.2)/0.9); System.out.print(pack+ " " + pie); } } |
Тест
Входящие данные | Выходящие данные | ||
n | w(вес) | pack | pie |
4 | 30 29 40 25 | 1 | 2 |
7 | 21 20 22 29 26 27 26 | 2 | 7 |
Проверка решения на e-olimp.
Хорошо, но единственный короткий оператор после if можно и не выносить в отдельную строку.