And (энд) - И end (энд) - конец nil (нил) - нуль set (сет) - множество array (эрей) - массив file (файл) - файл not (нот) - не then (зен) - то begin (бегин) - начало for (фo) - для of (оф) - из to (ту) - увеличивая до case (кейс) - вариант while (вайл) - пока downto (даунту)- уменьшая до record (рикод) - запись with (вис) - с function (фанкшн)- функция or (ор) - или type (тайп) - тип const (конст) - константа go to (гоу ту)- переход на packed (пэкт) - упаковать until (антил) - до div (див) - разделить if (иф) - если procedure() - процедура var (вар) - переменная do (ду) - выполнить in (ин) - в program (програм) - программа else (элс) - иначе mod (мод) - модуль repeat (рипит) - повторять
Идем от обратного. Перепишем алгоритм с последней цифры до первой: 21221 и командам присвоим обратные действия, то есть команда 1) станет "отними 1", а команда 2) "раздели на 2"
Проверим каждое число получившимся алгоритмом, если на выходе получается натуральное число, считаем, что алгоритм для этого числа допустим.
Например, число 42.
42/2 = 21
21-1 = 20
20/2 = 10
10/2 = 5
5-1 = 4
4 - натуральное число, следовательно для числа 42 алгоритм допустим.
Пример недопустимого алгоритма на примере числа 20:
20/2 = 10
10-1 = 9
9/2 = 4,5 - недопустимо, так как это число не может получиться при умножении целого натурального числа на 2
end (энд) - конец
nil (нил) - нуль
set (сет) - множество
array (эрей) - массив
file (файл) - файл
not (нот) - не
then (зен) - то
begin (бегин) - начало
for (фo) - для
of (оф) - из
to (ту) - увеличивая до
case (кейс) - вариант
while (вайл) - пока
downto (даунту)- уменьшая до
record (рикод) - запись
with (вис) - с
function (фанкшн)- функция
or (ор) - или
type (тайп) - тип
const (конст) - константа
go to (гоу ту)- переход на
packed (пэкт) - упаковать
until (антил) - до
div (див) - разделить
if (иф) - если
procedure() - процедура
var (вар) - переменная
do (ду) - выполнить
in (ин) - в
program (програм) - программа
else (элс) - иначе
mod (мод) - модуль
repeat (рипит) - повторять
Допустимые входные данные: 42, 26, 50, 82
Недопустимые входные данные: 20, 28, 40, 101
Объяснение:
Идем от обратного. Перепишем алгоритм с последней цифры до первой: 21221 и командам присвоим обратные действия, то есть команда 1) станет "отними 1", а команда 2) "раздели на 2"
Проверим каждое число получившимся алгоритмом, если на выходе получается натуральное число, считаем, что алгоритм для этого числа допустим.
Например, число 42.
42/2 = 21
21-1 = 20
20/2 = 10
10/2 = 5
5-1 = 4
4 - натуральное число, следовательно для числа 42 алгоритм допустим.
Пример недопустимого алгоритма на примере числа 20:
20/2 = 10
10-1 = 9
9/2 = 4,5 - недопустимо, так как это число не может получиться при умножении целого натурального числа на 2