为了账号安全,请及时绑定邮箱和手机立即绑定

是否可以在不使用数学库的情况下计算功率值?

是否可以在不使用数学库的情况下计算功率值?

Go
白板的微信 2022-12-19 17:54:13
我想知道我们如何使用math库计算功率值?我已经检查了大多数方法都是使用math库来实现的计算功率值的方法(即,math.Pow)。例如,如果我们想计算 3^2,我们可以像3**2在 Python 中那样做,所以我很好奇是否可以通过数学符号做类似 Python 的方式来在 Go 中计算它?谢谢!
查看完整描述

2 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

没有 Go 运算符(“数学符号”)可以执行此操作,但如果指数是常数,您当然可以只写x*xx^2 或x*x*xx^3。


如果指数不是常量而是整数,计算 n^exp 的一种简单方法是使用重复乘法,如下所示:


func pow(n float64, exp int) float64 {

    if exp < 0 { // handle negative exponents

        n = 1 / n

        exp = -exp

    }

    result := 1.0

    for i := 0; i < exp; i++ {

        result *= n

    }

    return result

}

也就是说,我不确定您为什么要避免math.Pow使用它——它在标准库中,而且速度更快、更通用。


查看完整回答
反对 回复 2022-12-19
?
皈依舞

TA贡献1851条经验 获得超3个赞

如果数字是整数,那么这应该有效:


package main


import (

    "fmt"

)


func main() {

    number := 4

    power := 5

    result := 1


    for power != 0 {

        result = result * number

        power = power - 1

    }

    fmt.Println(result)

}


查看完整回答
反对 回复 2022-12-19
  • 2 回答
  • 0 关注
  • 82 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信