求详细解释,最好关键代码都有解释```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)
```