Условие

В школе решили набрать три новых математических класса. Так как занятия по математике у них проходят в одно и то же время, было решено выделить кабинет для каждого класса и купить в них новые парты. За каждой партой может сидеть не больше двух учеников. Известно количество учащихся в каждом из трёх классов.

Сколько всего нужно закупить парт чтобы их хватило на всех учеников? Программа получает на вход три натуральных числа: количество учащихся в каждом из трех классов.

Решение задачи от разработчиков на Python:

Copy to Clipboard

Смотреть видео — Задача «Парты» решение на Python

Делитесь с друзьями ссылкой на ответ и задавайте вопросы в комментариях! 👇

2.7 12 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
3 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Crowley
1 год назад
a = int(input('Кол-во учащихся в первом классе: '))
b = int(input('Кол-во учащихся во втором классе: '))
c = int(input('Кол-во учащихся в третьем классе: '))

print(f'Для всех учеников необходимо: {((a + b + c) % 2) + ((a + b + c) // 2)}')
сrowley
сrowley
1 год назад

это рил легко

Stasy713
Stasy713
1 год назад

Crowley, зачем вводишь в заблуждение? Твое решение неверное, так нельзя считать в этой задаче. Поясню.
Если брать и тупо суммировать 3 переменные (кол-во учеников в каждом классе) и дальше все скопом делить на 2 и добавлять остаток от деления на 2 — в этой задаче будет ошибкой.
Потому что класса у нас 3, и если в любом из них нечетное кол-во учеников, то «остаток» в виде нечетного ученика не пойдет сидеть за парту в другой класс. Ему нужна парта в этом же классе. Поэтому нужно только последовательно по каждому классу: — делить на два без остатка — добавлять остаток от деления на два. И потом суммировать 3 результата по каждому классу.
Иначе получится, что если в первом классе 23 ученика, во втором 21, а в третьем 20, то, суммируя сначала все скопом: (23+21+20) \\2 = 64\\2 = 32. 64 делится на 2 без остатка, получается 32 парты всего нужно. А если последовательно: (23\\2) + 23%2 = 11+1 = 12; (21\\2) + 21%2 = 10+1 = 11; (20\\2)+20%2 = 10; Итог — 12+11+10 = 33 парты. Появляется + 1 парта, которая «теряется» если суммировать сначала все переменные. А если в каждом из 3-х классов будет нечетное кол-во учеников, тогда «потеряются» уже 2 парты. Код:

print(((a//2)+a%2)+((b//2)+b%2)+((c//2)+c%2))

Последний раз редактировалось 1 год назад Stasy713 ем