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

У ис­пол­ни­те­ля Вы­чис­ли­тель две ко­ман­ды, ко­то­рым при­сво­е­ны но­ме­ра:

1. при­пи­сать 1

2.  раз­де­лить на 3

Пер­вая из них при­пи­сы­ва­ет к числу спра­ва 1, вто­рая умень­ша­ет его в 3 раза. Со­ставь­те ал­го­ритм по­лу­че­ния из 5 числа 19, со­дер­жа­щий не более 5 ко­манд. В от­ве­те за­пи­ши­те но­ме­ра ко­манд.

(На­при­мер, 22121  — это ал­го­ритм:

раз­де­лить на 3

раз­де­лить на 3

при­пи­сать 1

раз­де­лить на 3

при­пи­сать 1,

ко­то­рый пре­об­ра­зу­ет число 18 в число 71.)

Если таких ал­го­рит­мов более од­но­го, то за­пи­ши­те любой из них.

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

Ре­ше­ние.

Чтобы ис­поль­зо­вать ко­ман­ду «раз­де­лить на 3», число долж­но быть крат­ным 3. Ис­поль­зу­ем ко­ман­ду 1 и по­лу­чим число 51. Число 51 крат­но трем, по­это­му ис­поль­зу­ем ко­ман­ду 2 и по­лу­чим число 17. Опять ис­поль­зу­ем ко­ман­ду 1, чтобы по­лу­чить число крат­ное трем. Ис­поль­зу­ем два раза ко­ман­ду 2 и из числа 171 по­лу­чим число 19.

 

Ответ: 12122.

 

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

def f(flag, x):

if flag == 1:

return x*10 + 1

if flag == 2:

return x / 3

x = 5

for flag in range(1, 3):

for flag1 in range(1, 3):

for flag2 in range(1, 3):

for flag3 in range(1, 3):

for flag4 in range(1, 3):

if f(flag, f(flag1, f(flag2, f(flag3, f(flag4, x))))) == 19:

print(flag4, flag3, flag2, flag1, flag)


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

Источник: ОГЭ−2025. Ос­нов­ная волна 26.05.2025. Санкт-Пе­тер­бург. Ва­ри­ант 2508