Задайте переменную без использования арифметического, реляционного или условного оператора
Даны три целых числа a, b и c, где c может быть либо 0, либо 1. Без использования каких-либо арифметических, реляционных и условных операторов установите значение переменной x на основе следующих правил:
Если c = 0
    х = а
Иначе // Примечание c - двоичное
    х = б.
Примеры:
Ввод: a = 5, b = 10, c = 0; Выход: x = 5 Ввод: a = 5, b = 10, c = 1; Выход: x = 10
Рекомендуется: сначала попробуйте свой подход в {IDE}, прежде чем переходить к решению.
Решение 1. Использование арифметических операторов
 Если нам разрешено использовать арифметические операторы, мы можем легко вычислить x, используя любое из следующих выражений:
х = ((1 - c) * a) + (c * b) ИЛИ х = (a + b) - (! c * b) - (c * a); ИЛИ х = (а *! с) | (до н.э);
| #include <iostream>usingnamespacestd; intcalculate(inta,intb,intc){    return((1 - c) * a) + (c * b);} intmain(){   inta = 5, b = 10, c = 0;        intx = calculate(a, b, c);   cout << x << endl;        return0;} | 
Выход:
5
Решение 2: без использования арифметических операторов
 Идея состоит в том, чтобы построить массив размера 2, в котором индекс 0 массива хранит значение переменной 'a' и значение индекса 1 переменной b. Теперь мы возвращаем значение по индексу 0 или по индексу 1 массива в зависимости от значения переменной c. 
| #include <iostream>usingnamespacestd; intcalculate(inta,intb,intc){   intarr[] = {a, b};   return*(arr + c);} intmain(){   inta = 5, b = 10, c = 1;        intx = calculate(a, b, c);   cout << x << endl;        return0;} | 
Выход:
10
Эта статья предоставлена Адитьей Гоэлем . Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью с помощью provide.geeksforgeeks.org или отправить ее по электронной почте на deposit@geeksforgeeks.org. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.
Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше.