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

Ав­то­мат по­лу­ча­ет на вход на­ту­раль­ное число N, не пре­вы­ша­ю­щее 10 000. По этому числу стро­ит­ся новое число R по сле­ду­ю­щим пра­ви­лам.

1.  Вы­чис­ля­ет­ся число P  — про­из­ве­де­ние всех не­ну­ле­вых цифр числа N.

2.  Вы­чис­ля­ет­ся число S  — раз­ность мак­си­маль­ной и ми­ни­маль­ной цифр в за­пи­си числа N.

3.  Вы­чис­ля­ет­ся T1: T1  =  P + S.

4.  Вы­чис­ля­ет­ся T2: T2  =  P × S + 1.

Новое число R по­лу­ча­ет­ся в ре­зуль­та­те за­пи­си рядом без про­бе­лов чисел T1 и T2 таким об­ра­зом, чтобы они сле­до­ва­ли слева на­пра­во в не­убы­ва­ю­щем по­ряд­ке.

При­мер. Ис­ход­ное число N  =  234.

P  =  2 × 3 × 4  =  24

S  =  4 − 2  =  2

T1  =  24 + 2  =  26

T2  =  24 × 2 + 1  =  49

Ре­зуль­тат: R  =  2649

Ука­жи­те наи­боль­шее число N, при об­ра­бот­ке ко­то­ро­го ав­то­мат вы­даст число R  =  25127.

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

Ре­ше­ние.

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

for n in range(10000, 1, -1):

t = list(str(n))

t1 = [int(i) for i in t if i != '0']

t0 = [int(i) for i in t]

p = 1

for i in t1:

p *= i

s = int(max(t0)) - int(min(t0))

t1 = p + s

t2 = p * s + 1

r = str(min(t1,t2))+str(max(t1,t2))

if r == '25127':

print(n)

break

 

Ответ: 92.


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