如何编写一个能够验证设置为true的变量数量的布尔表达式?我将提供一个我想解决的问题的简化示例。请在回答之前阅读整个问题,因为实际问题已经到了最后。
声明:
3个布尔变量: a b c
int 预期 = 2
如何编写一个布尔表达式,能够验证3个布尔变量中是否有2个设置为true。如果完全 2个布尔变量设置为true,则problem = (a + b + c) == 2
中的某些内容将{true}为真。
这是问题的简化版本,正好有3个布尔变量,期望= 2我们可以用problem
来解决问题
我的问题是,我们如何使用 n 布尔变量来解决这个问题,使用一阶逻辑<预期变量的变化量/ strong>包括逻辑连词,谓词和量词。
我想强调的是,我不是在寻找任何特定语言的实际代码,而只是寻找命题/谓词表达式。
答案 0 :(得分:0)
如果您认为false
解析为0而true
解析为1,那么您可以这样做:
ans = ((a + b + c + ... + z) == expected)
其中a..z
是布尔变量(可能来自其他表达式&#39;评估),expected
是您想要的真实条件数。