时间:2021-05-22
我就废话不多说了,大家还是直接看代码吧~
/** 二分幂法 求x^n */// 求整数幂package mainimport ( "fmt" "math")func main() { var x float64 var n int fmt.Scanf("%f%d", &x, &n) fmt.Println(powerf(x, n)) fmt.Println(powerf2(x, n)) fmt.Println(powerf3(x, n)) fmt.Println(math.Pow(x, float64(n)))}func powerf(x float64, n int) float64 { ans := 1.0 for n != 0 { if n%2 == 1 { ans *= x } x *= x n /= 2 } return ans}/** 递归法 求x^n */func powerf2(x float64, n int) float64 { if n == 0 { return 1 } else { return x * powerf2(x, n-1) }}/** 循环法 求x^n */func powerf3(x float64, n int) float64 { ans := 1.0 for n != 0 { ans *= x n-- } return ans}测试案例:
补充:Go常见运算操作
// 运算符 描述 实例
// + 相加 A + B 输出结果 30
// - 相减 A - B 输出结果 -10
// * 相乘 A * B 输出结果 200
// / 相除 B / A 输出结果 2
// % 求余 B % A 输出结果 0
// ++ 自增 A++ 输出结果 11
// -- 自减 A-- 输出结果 9
// 运算符 描述 实例
// == 检查两个值是否相等,如果相等返回 True 否则返回 False。 (A == B) 为 False
// != 检查两个值是否不相等,如果不相等返回 True 否则返回 False。 (A != B) 为 True
// > 检查左边值是否大于右边值,如果是返回 True 否则返回 False。 (A > B) 为 False
// < 检查左边值是否小于右边值,如果是返回 True 否则返回 False。 (A < B) 为 True
// >= 检查左边值是否大于等于右边值,如果是返回 True 否则返回 False。 (A >= B) 为 False
// <= 检查左边值是否小于等于右边值,如果是返回 True 否则返回 False。 (A <= B) 为 True
// 运算符 描述 实例
// && 逻辑 AND 运算符。 如果两边的操作数都是 True,则条件 True,否则为 False。 (A && B) 为 False
// || 逻辑 OR 运算符。 如果两边的操作数有一个 True,则条件 True,否则为 False。 (A || B) 为 True
// ! 逻辑 NOT 运算符。 如果条件为 True,则逻辑 NOT 条件 False,否则为 True。 !(A && B) 为 True
// i++ 自增
// i-- 自减
// i+=j 等价于 i = i + j
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
excel怎么求一个数的幂乘?下面来看看学习幂乘计算的几种方法。 1、我们来计算6个13的乘积。 2、可以直接用乘法公式计算。 3、在输入公式
excel怎么求一个数的幂乘?下面我们来看看学习幂乘计算的几种方法。软件名称:Excel2003绿色版EXCEL2003精简绿色版(附excel2003绿色工具
C语言pow()函数:求x的y次方(次幂)头文件:#includepow()函数用来求x的y次幂(次方),其原型为:doublepow(doublex,doub
Javascript刷新页面的几种方法:1.history.go(0)2.location.reload()3.location=location4.locat
本文实例演示了C语言求幂计算的高效解法。很有实用价值。分享给大家供大家参考。具体方法如下:题目如下:给定base,求base的幂exp只考虑基本功能,不做任何边