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

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

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

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

При­мер. Ис­ход­ное число: 63 179. Суммы: 6 + 1 + 9  =  16; 3 + 7  =  10. Ре­зуль­тат: 1016.

 

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

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

Ре­ше­ние.

723  — это либо 7 и 23, либо 72 и 3. Вто­ро­го быть не может, так как числа долж­ны быть за­пи­са­ны в по­ряд­ке не­убы­ва­ния. Зна­чит, в ре­зуль­та­те пер­во­го шага ав­то­ма­та были по­лу­че­ны числа 7 и 23. 23 нель­зя по­лу­чить сум­мой двух цифр, а зна­чит, что это сумма пер­вой, тре­тьей и пятой цифр числа, 7 же  — сумма вто­рой и четвёртой. Те­перь пред­ста­вим эти числа в виде сумм так, чтобы пер­вые сла­га­е­мые по­лу­чи­лись как можно мень­ше.

23  =  5 + 9 + 9, 7  =  0 + 7.

В итоге по­лу­чи­ли число 50979.

 

Ответ: 50979.

 

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

for i in range(10000, 100000):

s = str(i)

k1 = int(s[0]) + int(s[2]) + int(s[4])

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

first = str(min(k1, k2))

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

s1 = first + second

if s1 == '723':

print(i)

break


Аналоги к заданию № 10282: 10309 Все

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