Помогите пожалуйста. Язык - Python. ДАЮ 100 БАЛЛОВ.
Директор IT-школы Борис Иванович поручил Васе и Маше собрать пакеты с подарками. На столе стоят три коробки. В одной коробке X ирисок, в другой Y леденцов, в третьей Z помадок. Борис Иванович сказал, что в каждом пакете с подарками должно быть поровну конфет двух видов и что надо использовать все конфеты. Вася с Машей должны собрать такие подарки или объяснить, что это невозможно.
Программа должна прочитать три положительных целых числа. В первой строке число A — количество ирисок, во второй строке число B — количество леденцов, в третьей строке число C — количество помадок. Известно, что A⩾B⩾C.
Если собрать наборы не удастся, она должна вывести «Не получается» (без кавычек). Если удастся, то несколько троек чисел, описывающих наборы. В каждой тройке чисел должен быть один ноль и два целых положительных числа. Первое число обозначает количество ирисок, второе число — количество леденцов, третье — количество помадок.
Суммарное число каждого типа конфет должно совпадать с заданным.
Если есть несколько способов собрать такие наборы, выведи любой.
Пример 1:
Для 14-ти ирисок, 8-ми леденцов и 18-ти помадок можно сделать такие наборы:
14 8 18
8 0 8 (это первый набор, 8 ирисок и 8 помадок)
2 2 0 (это второй набор, 2 ириски и 2 леденца)
0 6 6 (это третий набор, 6 леденцов и 6 помадок)
4 0 4 (это четвёртый набор, 4 ириски и 4 помадки)
Пример 2:
Для одной ириски, одного леденца и одной помадки сделать такие наборы нельзя.
Answers & Comments
Ответ:
x = int(input())
y = int(input())
z = int(input())
a = x + z - y
b = y + z - x
c = x + y - z
if all(i > 0 and i & 1 == 0 for i in [a, b, c]):
print(a >> 1, 0, a >> 1)
print(0, b >> 1, b >> 1)
print(c >> 1, c >> 1, 0)
else:
print('Не получается')
Объяснение:
Язык: Python 3.10