for(i = 1; i<=n; i*=2)
for(j=1; j<=i; j++)
laugh++;
请解释一下这里laugh++执行了多少次?
设循环k次,则有 (
<=n 且
是2的倍数)
内层for循环上限i的取值为1 2 4 8 .... ,是一个等比数列;
所以,总循环次数为 Sn = 2* (1-)/(1 - 2) + 1 =
- 1, 代入k值有:
(
<=n 且
是2的倍数)
当n=11时,=8,代入得到次数为15;
for(i = 1; i<=n; i*=2)
for(j=1; j<=i; j++)
laugh++;
请解释一下这里laugh++执行了多少次?
设循环k次,则有 (
<=n 且
是2的倍数)
内层for循环上限i的取值为1 2 4 8 .... ,是一个等比数列;
所以,总循环次数为 Sn = 2* (1-)/(1 - 2) + 1 =
- 1, 代入k值有:
(
<=n 且
是2的倍数)
当n=11时,=8,代入得到次数为15;