了解一下*=是什么意思,*=是一种赋值运算,result*=x 等同于 result=reslut*x
首先,for(i =0; i<n*n/2;++i) 说明这里i进行了n^2/2次循环
下面的循环体为result*=x,说明这里进行了i次循环,输出了i次的result*=x,说明这里的时间复杂度为O(1)
下面return result的时间复杂度同上,为O(1)
所以,这道题选D
换种思路,float result = 1.0f 执行1次
for(i=0;i<n*n/2;++i) 执行n*n/2+1 次
result*=x 作为循环体 执行 n*n/2次
return result 执行1次
可以得到T(n)=n^2+3
所以时间复杂度为O(n^2)
选D