Задания
Версия для печати и копирования в MS Word
Тип 5 № 7751
i

Ав­то­мат по­лу­ча­ет на вход четырёхзнач­ное число. По этому числу стро­ит­ся новое число по сле­ду­ю­щим пра­ви­лам:

1.  Скла­ды­ва­ют­ся пер­вая и вто­рая, а также тре­тья и четвёртая цифры ис­ход­но­го числа.

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

При­мер. Ис­ход­ное число: 2366. Суммы: 2 + 3  =  5; 6 + 6  =  12. Ре­зуль­тат: 512.

 

Ука­жи­те наи­боль­шее число, в ре­зуль­та­те об­ра­бот­ки ко­то­ро­го ав­то­мат вы­даст число 117.

Спрятать решение

Ре­ше­ние.

По­сколь­ку числа за­пи­са­ны в по­ряд­ке воз­рас­та­ния, одна сумма цифр двух раз­ря­дов равна 1, дру­гая  — 17. Чтобы число было наи­боль­шим, не­об­хо­ди­мо, чтобы в стар­ших раз­ря­дах на­хо­ди­лась как можно боль­шая цифра, сле­до­ва­тель­но, сумма стар­ших раз­ря­дов долж­на быть боль­шей. При раз­ло­же­нии 17 на сла­га­е­мые не­об­хо­ди­мо, чтобы одно из них было мак­си­маль­но воз­мож­ным, по­это­му пред­ста­вим 17 как сумму 9 и 8, это  — пер­вые две цифры ис­ко­мо­го числа. Вто­рые две цифры по­лу­чат­ся раз­ло­же­ни­ем числа 1 на сла­га­е­мые: 1 и 0. Сле­до­ва­тель­но, ответ  — 9810.

 

Ответ: 9810.

 

При­ведём дру­гое ре­ше­ние на языке Python.

for i in range(10000, 1000, -1):

s = str(i)

k1 = int(s[0]) + int(s[1])

k2 = int(s[2]) + int(s[3])

first = str(min(k1, k2))

second = str((max(k1, k2)))

s1 = first + second

if s1 == '117':

print(i)

break

Раздел кодификатора ФИПИ: 1.6.3 По­стро­е­ние ал­го­рит­мов и прак­ти­че­ские вы­чис­ле­ния