求n次方的高效算法

算法 专栏收录该内容
39 篇文章 0 订阅

注:次幂n为整数,底数可以是整数、小数、矩阵等(只要能进行乘法运算的

举个求整数的n次方的例子(Go语言版):

func pow(x, n int) int {
    ret := 1 // 结果初始为0次方的值,整数0次方为1。如果是矩阵,则为单元矩阵。
    for n != 0 {
        if n%2 != 0 {
            ret = ret * x
        }
        n /= 2
        x = x * x
    }
    return ret
}

func main() {
    x := pow(2, 10) // 2^10
    println(x)      // 1024
}
  • 4
    点赞
  • 0
    评论
  • 3
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值