Поделитесь своими знаниями, ответьте на вопрос:
Решить на языке питон Алиса и Боб получили три большие кучки конфет в качестве подарка. Теперь они хотят разделить эти конфеты между собой настолько честно, насколько это возможно. Чтобы сделать это, Алиса забирает одну кучку с конфетами себе, затем Боб забирает одну из других двух кучек себе. Последняя кучка делится между Алисой и Бобом так, как они хотят: например, возможно, что Алиса возьмет всю кучку себе, а Боб не получит из нее ничего. После того как они возьмут все конфеты из кучек, если у Алисы будет больше конфет, чем у Боба, она выкидывает некоторые конфеты таким образом, что количество ее конфет становится равным количеству конфет Боба. Конечно, Боб сделает то же самое, если у него больше конфет. Алиса и Боб хотят иметь как можно больше конфет каждый, и будут планировать процесс разделения конфет соответственно посчитайте максимально возможное количество конфет, которое может оказаться у Алисы после процесса их разделения (конечно же, у Боба будет столько же конфет Формат ввода Единственная строка запроса содержит три целых числа a , b и c ( 1 ≤ a , b , c ≤ 1 0 в 16 степени ) — количество конфет в первой, второй и третьей кучках соответственно. Формат вывода Выведите ответ - максимальное количество конфет, которое Алиса может иметь после разделения, если и Алиса, и Боб будут действовать оптимально (конечно же, Боб будет иметь такое же количество конфет).
var
i,j,k:Integer;
Chislo : Integer;
begin
Memo1.Clear;
for i := 0 to 31 do
begin
Chislo := 3;
for j := 0 to 4 do
begin
if ((i and Trunc(IntPower(2,j)))=0) then
Dec(Chislo)
else
Chislo := 3*Chislo;
if (Chislo=16) then
begin
Memo1.Lines.Append('УРА - Нашли');
for k := 0 to j do
if ((i and Trunc(IntPower(2,k)))=0) then
Memo1.Lines.Append('1')
else
Memo1.Lines.Append('2');
Memo1.Lines.Append('');
end;
end;
end;
end;