考虑下面的C程序片段,其中i、j和n是整型变量。
null
for (i = n, j = 0; i >0; i /= 2, j += i); |
让val(j)表示for循环终止后存储在变量j中的值。以下哪一项是正确的? (A) 瓦尔(j)= (logn) (B) 瓦伊(j)=
(sqrt(n)) (C) 瓦尔(j)=
(n) (D) 瓦尔(j)=
(nlogn)
(A) A (B) B (C) C (D) D 答复: (C) 说明: 变量j最初是0,j的值是i的值之和。i初始化为n,并在每次迭代中减少到一半。
j=n/2+n/4+n/8+…+1=Θ(n)
注意for循环后面的分号,因此正文中没有任何内容。
与本报告的问题1相同 https://www.geeksforgeeks.org/c-language-set-6/ 这个问题的小测验
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END