2、pow(x,n)计算X的n次幂

例如计算x的77次方:

double myPow(double x, int n){
    double res = 1.0;
    for(int i = n;i!=0;i/=2)	//贡献初始值为x
    {
        if(i % 2 == 1)			//如果N的二进制最低位为1,则需要计入贡献
        {
            res *= x;	
        }
        x *=x ;					//将贡献不断平方
    }
    return n < 0?1/res:res;
}

仅供自己会议参考。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章