• Предмет: Информатика
  • Автор: vasilisaogneva2004
  • Вопрос задан 6 лет назад

Пожалуйста, помогите с информатикой!!!!!


Исполнитель Автомат получает на вход четырёхзначное число. Это число он преобразует по следующему алгоритму:

1) вычисляется сумма первой и второй цифр числа;

2) вычисляется сумма второй и третьей цифр числа;

3) вычисляется сумма третьей и четвёртой цифр числа;

4) из полученных трёх чисел (сумм) выбирается и отбрасывается одно — не превышающее двух других чисел;

5) оставшиеся два числа записываются друг за другом в порядке неубывания без разделителей.

Так, если исходное число 9575, то, преобразуя его, автомат создаст суммы: 9 + 5 = 14,
5 + 7 = 12, 7 + 5 = 12. Сумма, не превышающая двух других, 12. Оставшиеся суммы: 14, 12. Результат: 1214

При обработке некоторого числа x автомат выдаёт результат 1318.

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

Ответы

Ответ дал: Fedy16
1

Ответ: 1499 9949

Python:

def f(n):

   digits = [int(i) for i in str(n)]

   # 1

   first_sum = digits[0] + digits[1]

   # 2

   second_sum = digits[1] + digits[2]

   # 3

   third_sum = digits[2] + digits[3]

   # 4

   amounts = [first_sum, second_sum, third_sum]

   del amounts[amounts.index(min(amounts))]

   # 5

   amounts.sort()

   return int(str(amounts[0]) + str(amounts[1]))

numbers = []

for x in range(1000, 10000):

   if f(x) == 1318:

       numbers.append(x)

print(numbers[0], numbers[-1])

Вас заинтересует