【发布时间】:2015-02-26 16:02:20
【问题描述】:
有两个字母“X”和“Y”。需要用这两个字母组成一个长度为 N 的字符串。
当 N 应该以“Y”开头并且没有两个或更多连续的“X”时,可能有多少种组合?
考虑N = 7:
我通过以下方式解决了这个问题:
我的解决方案:
[没有。以字母“Y”开头的组合数] -[No:包含两个连续 X(n-1 种可能性)的组合数+ No:包含 3 个连续 X(n-1 种可能性)的组合数+.....] em>
=Math.pow(2,N-1)-[(N-2)(N-1)/2];
问题在于我要减去的部分。我缺少在字符串中包含两个连续“X”和总共 3 个 X 的元素。同样连续 2 个,总共 4 个 X。 我想找到一个通用公式来查找不会出现“R”或更多连续“X”的字符串。
请帮我找到解决办法。
【问题讨论】:
-
这听起来更适合math.stackexchange.com
-
这是理论上的还是您可以发布一些代码进行测试?
-
代码将是单个语句来计算上面写的组合。 @JNYRanger
-
谢谢@Jon 我不知道这个。将在那里发布。
-
我投票结束这个问题,因为它应该属于 math.stackexchange.com
标签: java math combinations permutation