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;
}

僅供自己會議參考。

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