用固定值填充n个地方的方法

时间:2013-10-07 19:22:02

标签: algorithm combinations permutation

我们可以用2个固定值填充n个地方的方式有多少,而在2个选定的地方之间有值,这样我们就不会重复了?

示例:n = 4,固定值1和3

case 1 : fix 1 on position 1 and 3 on position 2

1 3 1 1
1 3 1 2
1 3 2 1
1 3 2 2
1 3 1 3
1 3 3 1
1 3 3 3
1 3 2 3
1 3 3 2

case 2 : fix 1 on position 1 and 3 on position 3

1 1 3 1
1 1 3 2
1 2 3 1
1 2 3 2
1 3 3 2
1 2 3 3
1 3 3 1
1 1 3 3
1 3 3 3
now in case 1 and 2 : 1 3 3 3 and 1 3 3 1 and 1 3 3 2 are repeating 

case 3 : ....similarly other cases follow

我到目前为止所做的是:nC2 * POWER( (max-min+1) , n-2 ) - duplicates但不能减去重复项。

1 个答案:

答案 0 :(得分:0)

我不确定理解但是如果我理解的话你有n(数字)和一系列数字适用。 x是此范围内的数字数。

您必须将此视为基数x。

例如:

x = 3 (we really don't care about min and max it change nothing)
n = 4

1 1 1 1
1 1 1 2
1 1 1 3
1 1 2 1
1 1 2 2


etc.

所以填充的数量应该是:

POWER(x, n)-POWER(x, n-1)

当x是你所说的max-min + 1

对于你的例子,他们有54种不同的填充方式