Программистская задачка
Feb. 27th, 2008 12:09 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Постом Аввы навеяло.
Известна задача для интервью: написать int f(int x), которая для x==a возвращает b, а для x==b возвращает a. Один из вариантов ответа при данной спецификации: int f(int x) { return a+b-x; }
Напишите целое арифметико-логическое выражение (не использующее тернарного оператора и сравнений) с переменной х, которое для данных 32-битных целых a, b, c при x==a принимает значение b, при x==b - значение c, при x==c - значение a, в остальных случаях результат произволен. Для каких a, b, c решение существует?
Известна задача для интервью: написать int f(int x), которая для x==a возвращает b, а для x==b возвращает a. Один из вариантов ответа при данной спецификации: int f(int x) { return a+b-x; }
Напишите целое арифметико-логическое выражение (не использующее тернарного оператора и сравнений) с переменной х, которое для данных 32-битных целых a, b, c при x==a принимает значение b, при x==b - значение c, при x==c - значение a, в остальных случаях результат произволен. Для каких a, b, c решение существует?