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

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

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

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

При­мер. Ис­ход­ное число: 348. Суммы: 3 + 4  =  7; 4 + 8  =  12. Ре­зуль­тат: 127.

 

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

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

Ре­ше­ние.

По­сколь­ку числа за­пи­са­ны в по­ряд­ке убы­ва­ния, одна сумма цифр двух раз­ря­дов равна 15, дру­гая  — 9. Для того, чтобы число было наи­мень­шим, не­об­хо­ди­мо, чтобы в стар­ших раз­ря­дах на­хо­ди­лась как можно мень­шая цифра, сле­до­ва­тель­но, сумма стар­ших раз­ря­дов долж­на быть мень­шей. При раз­ло­же­нии 9 на сла­га­е­мые не­об­хо­ди­мо, чтобы одно из них было ми­ни­маль­но воз­мож­ным, по­это­му пред­ста­вим 9 как сумму 1 и 8, это  — пер­вые две цифры ис­ко­мо­го числа. Тогда тре­тья цифра 15 − 8  =  7. Сле­до­ва­тель­но, ис­ко­мое число  — 187.

 

Ответ: 187.

 

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

for i in range(100, 1000):

s = str(i)

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

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

first = str(max(k1, k2))

second = str(min(k1, k2))

s1 = first + second

if s1 == '159':

print(i)

break


Аналоги к заданию № 7663: 7690 7917 7982 ... Все

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