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

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

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

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

При­мер. Ис­ход­ное число: 3165. Суммы: 3 + 1  =  4; 6 + 5  =  11. Ре­зуль­тат: 114.

 

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

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

Ре­ше­ние.

По­сколь­ку числа за­пи­са­ны в по­ряд­ке убы­ва­ния, одна сумма цифр двух раз­ря­дов равна 13, дру­гая  — 11. Чтобы число было наи­мень­шим, не­об­хо­ди­мо, чтобы в стар­ших раз­ря­дах на­хо­ди­лась как можно мень­шая цифра. Сле­до­ва­тель­но, сумма стар­ших раз­ря­дов долж­на быть мень­шей. При раз­ло­же­нии 11 на сла­га­е­мые не­об­хо­ди­мо, чтобы одно из них было ми­ни­маль­но воз­мож­ным, по­это­му пред­ста­вим 11 как сумму 2 и 9, это  — пер­вые две цифры ис­ко­мо­го числа. Вто­рые две цифры по­лу­чат­ся раз­ло­же­ни­ем числа 13 на сла­га­е­мые: 4 и 9. Сле­до­ва­тель­но, ответ  — 2949.

 

Ответ: 2949.

 

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

for i in range(1000, 10000):

s = str(i)

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

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

first = str(max(k1, k2))

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

s1 = first + second

if s1 == '1311':

print(i)

break

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