下面是快速幂算法求 的代码,这里n≥0, a是实数。对该算法的时间复杂性描述不准确的是哪个?

求详细解释,最好关键代码都有解释
‎```c++
‎doule exp2(double a, int n)
‎{
int i;
‎double b, s=1.0;
‎ i=n;b=a;
‎ while(i>0)
‎ {
‎if(i%2) s*=b;
‎i/=2; b*=b;
}
return s;
‎}

A.o(logn)
B.O(logn)
C.θ(logn)
D.Ω(logn)

```