文章目录
for(i=1;i<=n;i++) //n+1
for(j=1;j<=i;j++) //
for(k=1;k<=j;k++)
x=x+1;
语句频度:
∑
i
=
1
n
∑
j
=
1
i
∑
k
=
1
j
1
=
∑
i
=
1
n
∑
j
=
1
i
j
=
∑
i
=
1
n
i
(
i
+
1
)
2
\sum_{i=1}^{n}\sum_{j=1}^{i} \sum_{k=1}^{j}1 =\sum_{i=1}^{n}\sum_{j=1}^{i}j=\sum_{i=1}^{n} \frac{i(i+1)}{2}
i=1∑nj=1∑ik=1∑j1=i=1∑nj=1∑ij=i=1∑n2i(i+1)
=
1
2
(
∑
i
=
1
n
i
2
+
∑
i
=
1
n
i
)
=
1
2
(
n
(
n
+
1
)
(
2
n
+
1
)
6
+
n
(
n
+
1
)
2
)
=
n
(
n
+
1
)
(
n
+
2
)
6
=\frac{1}{2} (\sum_{i=1}^{n}i^2+\sum_{i=1}^{n}i )=\frac{1}{2}(\frac{n(n+1)(2n+1)}{6}+\frac{n(n+1)}{2})=\frac{n(n+1)(n+2)}{6}
=21(i=1∑ni2+i=1∑ni)=21(6n(n+1)(2n+1)+2n(n+1))=6n(n+1)(n+2)
i=1;
while(i<=n)
i=i*2;
循环1次;i=12=2
循环2次:i=22=22
循环3次:i=222=23
……循环x次;i=2x
i<=n; 2x<=n;
x
<
=
log
2
n
x<=\log_{2}{n}
x<=log2n
2
f
(
n
)
<
=
n
2^{f(n)}<=n
2f(n)<=n
f
(
n
)
<
=
log
2
n
f(n)<= \log_{2}{n}
f(n)<=log2n
取最大值
f
(
n
)
<
=
log
2
n
f(n)<= \log_{2}{n}
f(n)<=log2n