An interviewer recently asked me this question: given three boolean variables, a, b, and c, return true if at least two out of the three are true.
My solution follow
Another example of direct code:
int n = 0;
if (a) n++;
if (b) n++;
if (c) n++;
return (n >= 2);
It's not the most succinct code, obviously.
Addendum
Another (slightly optimized) version of this:
int n = -2;
if (a) n++;
if (b) n++;
if (c) n++;
return (n >= 0);
This might run slightly faster, assuming that the comparison against 0 will use faster (or perhaps less) code than the comparison against 2.