• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Реализовать Условие Без Условных Операторов

  • Автор темы dimon131
  • Дата начала
D

dimon131

Здравствуйте. Подскажите, пожалуйста, алгоритм, как можно реализовать эту задачу без использования операторов ветвления (if) и циклов



Задано натуральное число N. Напишите программу, которая определяет следующее четное число. При решении данной задачи не допускается использовать операторы ветвления (if) и циклов.

Входные данные:
число N

выходные данные:
следующее четное число.
 
S

sinkopa

Хм... Ваш вариант конечно работает, вопросов нет...
Только вот я думаю что задачка то "с подковыркой"... на знание побитовых операций. :)
Четным является число у которого нулевой бит установлен в 0.
Поэтому думаю ответом "на пятерку" будет:
Код:
ReadLn(n);
WriteLn(n or 1 + 1);
n or 1 - поднимает 0-й бит. Если он уже установлен, то таким и останется.
Тем самым получаем НЕчетное число следующее за N (либо само N если оно нечетное).
Затем просто инкрементируем полученное число на 1.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!