面试题:给你三个bool类型变量a, b, c,判断至少有两个为true
1.
return (a&&b) || (b&&c) || (a&&c);
2.
int count = 0;
if(a) count++;
if(b) count++;
if(c) count++;
return count >= 2;
3. 卡诺图
return a?(b||c):(b&&c);
4.
return a==b?a:c;
5. 异或(与4的条件相反)
return a^b?c:a;
6.
return (a?1:0)+(b?1:0)+(c?1:0) >= 2;
7. 与或
return (a&b) | (b&c) | (a&c);
8. (3的变种)
return (a&&(b||c)) || (b&&c);