首页 > 编程知识 正文

快速幂算法,幂运算算法

时间:2023-05-05 04:51:34 阅读:225558 作者:818

运行时间由线性O(N)到对数O(logN)
如果幂为偶数,XN=XN/2 *XN/2,
如果幂为奇数,XN=X(N-1)/2 *X(N-1)/2 *X,

如:X62求解只用9次乘法
X3=X2*X,
X7=(X3)2*X,

X62=(X31 )2

static long myPow(long x, int n) { if (n == 0) { return 1; } if (n % 2 == 0) { return myPow(x * x, n / 2); } else { return myPow(x * x, n / 2) * x; } }

源自《数据结构与算法分析》,推荐阅读。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。