У исполнителя Вычислитель две команды, которым присвоены номера: 1) прибавь 1,
2) умножь на 2.
Первая из них увеличивает число на экране на 1, вторая — увеличивает в 2 раза.
Исполнитель работает только с натуральными числами.
Был составлен алгоритм 12212. Определите, могут ли приведенные числа быть результатом работы исполнителя.
Например, число 18 может быть получено по этому алгоритму из числа 1.
Распределите числа по группам: числа, которые могут быть результатом действия алгоритма и числа, которые невозможно получить таким ни из какого исходного числа.
Допустимые выходные данные:
Недопустимые выходные данные:

42 26 50 82 20 28 40 101

fg4ne fg4ne    1   20.10.2020 20:48    10

Ответы
MrNikita5 MrNikita5  19.11.2020 20:50

Допустимые входные данные: 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

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика