Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите код написать.

Тёмный Король Ученик (176), закрыт 2 дня назад
Напиши код для задания Качели. Аня, Боря и Саша катаются на качелях. Качели это длинная балка закрепленная в центре на которую дети садятся с разных концов. Массы детей равны A, B и C кг. Чтобы держать баланс на качелях, разница масс на двух концах качелей должна быть не более D кг. Рядом с площадкой есть камни. Друзья могут использовать их чтобы сделать разность масс на концах качелей допустимой. Определи, какая минимальная масса камня, благодаря которому они смогут покачаться на качелях.
Лучший ответ
Андрей Высший разум (462137) 1 месяц назад
 a, b, c, d = [int(input()) for _ in range(4)] 
t = min(map(abs, [a + b - c, a + c - b, b + c - a]))
print(max(0, t - d))
Тёмный КорольУченик (176) 1 месяц назад
Здравствуйте! Ваш ответ очень помог. Могли бы подсказать еще с 2-3? Если не сложно, конечно. ?
Тёмный Король, ответили??
Остальные ответы
Александр Вис Мыслитель (7874) 1 месяц назад
А на работе потом за тебя тоже кто-то будет делать? А, хотя, есть же гугл
Тёмный КорольУченик (176) 1 месяц назад
Да я не туда иду вообще. Не моя это специальность. Просто попросили сделать на приличную оценку.
Александр Вис Мыслитель (7874) Тёмный Король, а какая, если ты программы должен писать?
Кент Искусственный Интеллект (116007) 1 месяц назад
``python
def find_min_rock_mass(a, b, c, d):
mass_differences = [abs(a - b), abs(b - c), abs(a - c)]
min_mass_difference = min(mass_differences)
min_rock_mass = max(0, min_mass_difference - d + 1)
return min_rock_mass

a = 30 # масса Ани
b = 40 # масса Бори
c = 50 # масса Саши
d = 10 # максимальная разница масс на концах качелей

print(f"Минимальная масса камня, которая позволит им покачаться на качелях, равна {find_min_rock_mass(a, b, c, d)} кг.")
``
paulcucumber Знаток (370) 1 месяц назад
 m = sorted([int(input()) for i in range(3)] + [0]) 
d = int(input())
l = -1
r = abs(2 * m[-1] - sum(m))
while r - l > 1:
m[0] = (l + r) // 2
for mask in range(16):
s = 0
for i in range(4):
if mask & 1 != False:
s += m[i]
else:
s -= m[i]
mask >>= 1
if d >= s >= -d:
r = m[0]
break
else:
l = m[0]
print(r)
Похожие вопросы