算法学习——求幂算法

来源:互联网 发布:ftp上传软件绿色版 编辑:程序博客网 时间:2024/06/10 20:01

计算X的N次幂明显的算法是使用N-1次乘法自乘。使用递归算法比较好。如果N是偶数,X的N次幂可以写成两个的N/2次幂的乘积,如果N是基数,则可以写成两个的N/2次幂的乘积再乘以X.这样算法的时间复杂度将变成logN.具体算法如下。


long pow(long x,unsigned n)

{
    if(n==0)
        return 1;
    else if(n==1)
        return x;
    else
    {
        if(n%2)//奇数
            return pow(x*x,n/2)*x;
        else
            return pow(x*x,n/2);
    }
}
0 0
原创粉丝点击