Необходимо избавиться от условного оператора «Если» в алгоритме:
Если А = 0 Тогда
Б = 2;
Иначе
Б = 1;
КонецЕсли;
Нельзя использовать ЛЮБЫЕ условные конструкции, в т.ч. ?(А = 0, 2, 1). Переменной А может быть присвоено значение 0 или 1.
Решение
Б = 2 - А;
Если Вы знаете другое решение задачи, пишите в комментариях.
Другие задачи с собеседований:
Поиск одинаковых табличных частей
Получение курсов валют для каждого документа
Загадка про альпиниста и веревку
Еще задача из той же серии: Б = ?(А=0, -1, 10). А может принимать значения 0 или -1.
Решение корректно, даже с точки зрения асемблериста
Можно еще А записать обратным порядком байт и сложить с 2
А вот вариант решения для любого значения переменной «А»:
Попытка
В = А/А;
Исключение
В = 2;
КонецПопытки;
Б=2/(А+1)
А=0
Б=2/(0+1)
А=1
Б=2/(1+1)