考虑到我有以下嵌套的for-loops
:
for(i1=1 to n)
for(i2=1 to i1)
for(i3=1 to i2)
for(i4=1 to i3)
for(i5=1 to i4)
count++;
count
将增加多少次?
如果有'm'个这样的依赖循环,我们如何计算计数变量的值?
答案 0 :(得分:1)
您可以尝试一些数字并找到答案。 (在您的示例中,以m = 5
为准,{{1}等于1,6,21,56,126
可获得n
)
提示-将会是1,2,3,4,5
(您可以使用The On-Line Encyclopedia of Integer Sequences来找到它)
因此对于Binomial coefficients C(n,5)
嵌套循环,您将得到m
等于count
->因为最小值是在选择C(n+m-1,m)
元素,所以第一个m
元素m的二项式系数为0-您可以在here中了解更多信息。
为什么这是答案?它实际上是一个数学问题-但简单的解释:检查m
-它是数字之间的差之和-您的情况,每个循环取两个高位之和-在您的循环中,每个循环取高位索引-相同方法论