计算条件

时间:2017-12-01 14:04:58

标签: vba math stochastic

我想计算一定数量的数字可能有多少种不同的变体。元素的数量是可变的。

实施例: 我有5个元素,每个元素可以在0到8之间变化。只有第一个元素有点定义,只能在1到8之间变化。到目前为止,我说我有8 * 9 ^ 4种可能性。但我有更多的条件。只要其中一个元素为零,下一个元素也应该自动为零。

E.G:

6 5 4 7 8没问题

6 3 6 8 0没问题

3 6 7 0 5是不可能的,并将转向3 6 7 0 0

有人会告诉我如何计算此案例的组合数量以及一般情况,因为我希望能够计算4或8或9等元素的组合数量。稍后我想在VBA中计算这个数字,以便能够让用户预测我的计算需要多长时间。

2 个答案:

答案 0 :(得分:2)

由于序列中一旦存在0,序列中的所有剩余数字也将为0,这些都是可能的:(其中#表示从1到{的任何数字{1}}):

8

因此,答案是(伪代码):

##### (accounts for 8^5 combinations)
####0 (accounts for 8^4 combinations)
...
#0000 (accounts for 8^1 combinations)

或等效地,

int sum = 0;

for (int x = 1; x <= 5; x++)
{
   sum = sum + 8^x;
}

答案 1 :(得分:0)

非常感谢你。

Sub test()
Dim sum As Single

Dim x As Integer
For x = 1 To 6
    sum = sum + 8 ^ x
Next
Debug.Print sum
End Sub

使用此代码,我得到的确是37488.我也试过了6个元素,它也有效。现在我可以尝试估计计算时间