• Предмет: Информатика
  • Автор: vladtolmachev07
  • Вопрос задан 2 года назад

Наибольшее чётное число
Вводятся три цифры. Требуется составить из них наибольшее возможное чётное число.

Входные данные

Вводятся три цифры, разделённые пробелом. Гарантируется, что хотя бы одна из них отлична от нуля, и хотя бы одна цифра чётная.

Выходные данные

Вывести одно трёхзначное число (без пробелов). Число не может начинаться с нуля.

Примеры
Ввод
Вывод
1 0 0
100
1 5 8
518


Аноним: Дружище. Уточняй язык пожалуйста.

Ответы

Ответ дал: RaikerRaiders
9

Ответ:

Вот код:

a = list(map(int, input().split()))

b = []

c = []

def schot(a):

   count = 0

   for i in range(5):

       for j in a:

           if j == 2 * i:

               count += 1

   if count != 1:

       return True

   else:

       return False

while schot(a):

   b.append(max(a))

   a.pop(a.index(max(a)))

for i in range(5):

   for j in a:

       if j == 2 * i:

           c.append(j)

           a.pop(a.index(j))

           break

while a != []:

   b.append(max(a))

   a.pop(a.index(max(a)))

b.append(c[0])

for i in b:

   print(i, end="")

Объяснение:

Его смысл в том что есть функция проверяющая кол-во четных цифр в массиве всех цифр а и потом если там больше одной четной цифры то он берет наибольшую цифру и ставит ее на последнее место в массиве б, ну а если осталась одна четная цифра то код убирает эту цифру и продолжает набор цифр без нее и под конец закидывает ее чтобы получилось четное число :)))

P.S. тоже в Сириус?))


Tishayshiy: Чувак, красава!!! Спасибо тебе большое за решение! Хз почему тебе остальные говнооценки поставили
RaikerRaiders: Не за что
vladtolmachev07: Спасибо огромное и да Сириус.
babakovi679: а кто может на c++ перевести код?
Вас заинтересует