计算括号内布尔表达式的方法数。例如,布尔表达式我的意思是这样的,1 ^ 0 | 0 | 1,对于运算符,它可以是^,&或者。
做了一些参考和计算,似乎方法的数量总是(2n)!/((n + 1)!n!),其中n是运算符的数量。如果有人有任何想法为什么方法总是(2n)!/((n + 1)!n!),感谢分享见解。
这是一个关于如何表示不同括号方式的示例,例如,将两个结果括在括号中的两种不同方式为False。
1 ^((0 | 0)| 1)1 ^(0 |(0 | 1))
提前谢谢, 林答案 0 :(得分:1)
Catalan numbers给出了完全括起表达式的方法的数量。到目前为止,理解这种情况的最简单方法是使用以下加泰罗尼亚数字公式:
当有0个运算符时,只有一种方法可以使表达式完全括号:(x)
。
当我们有n
个运算符的表达式时,我们可以将第一个运算符放在n
个地方:
x|x One operator, one possible location.
^
x|x|x Two operators, two possible locations.
^ ^
当我们“放置”一个运算符时,我们只需将可能的数量乘以左侧括号的方法乘以右侧的括号。我们为每个可能的位置执行此操作,并总结这些可能性。