C++ 此语句在三重嵌套循环中执行多少次?
这是我的问题C++ 此语句在三重嵌套循环中执行多少次?,c++,algorithm,math,time-complexity,C++,Algorithm,Math,Time Complexity,这是我的问题 for(i=1;i<=n;i++) for(j=1;j<=i;j++) for(k=1;k<=j;k++) x++; for(i=1;i您正在查找以下总和的值: Sum(i from 1 to n) Sum (j from 1 to i) Sum (k from 1 to j) 1 从内到外工作: Sum(i from 1 to n)
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)
for(k=1;k<=j;k++)
x++;
for(i=1;i您正在查找以下总和的值:
Sum(i from 1 to n)
Sum (j from 1 to i)
Sum (k from 1 to j)
1
从内到外工作:
Sum(i from 1 to n)
Sum (j from 1 to i)
Sum (k from 1 to j)
1
= Sum(i from 1 to n)
Sum (j from 1 to i)
j
= Sum(i from 1 to n)
i(i + 1) / 2
从这里,我们得到
求和(i从1到n)i(i+1)/2
=(1/2)和(i从1到n)(i2+i)
=(1/2)(和(i从1到n)i2+和(i从1到n)i)
=(1/2)(n(n+1)(2n+1)/6+n(n+1)/2)
然后你可以试着简化多项式,得到一个干净、精确的值,如果你只需要渐近上界,它就是Θ(n3)
据报道,这是
n3/6+n2/2+n/3
希望这有帮助!首先找出2D的情况。它是单纯形的体积,不是吗?+1用于获得与我相同的答案!:)也许你应该添加一个更封闭的形式:n(n+1)(2n+4)/12。