用Go(Golang)计算数字幂的程序

356 阅读1分钟

概述

目的是计算一个给定的整数的功率。将有两个输入

  • 数字本身--该数字可以是正数,也可以是负数。它也可以是浮点数

  • 幂 - 幂也可以是正的,也可以是负的。

例子

Input: Num:2, Power:4
Output: 16

Input: Num:2, Power:-4
Output: 0.0625

程序

以下是相同的程序:

package main

import "fmt"

func pow(x float64, n int) float64 {

	if x == 0 {
		return 0
	}

	if n == 0 {
		return 1
	}

	if n == 1 {
		return x
	}

	if n == -1 {
		return 1 / x
	}

	val := pow(x, n/2)

	m := x
	if n < 0 {
		m = 1 / x
	}

	if n%2 == 1 || n%2 == -1 {
		return val * val * m
	} else {
		return val * val
	}

}

func main() {
	output := pow(2, 4)
	fmt.Println(output)

	output = pow(2, -4)
	fmt.Println(output)
}

输出

16
0.0625