• Твой профиль заполнен на 0%. Заполни за 1 минуту, чтобы тебя нашли единомышленники и работодатели. Заполнить →

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

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

dimon131

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



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

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

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

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →

Популярный контент

🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab