func main() {
fmt.Println(exponent (5,3))
}
//a的n次方
//超出uint64的部分会丢失
func exponent (a,n uint64) uint64 {
result := uint64(1)
for i := n ; i > 0; i >>= 1 {
if i&1 != 0 {
result *= a
}
a *= a
}
return result
}
func main() {
fmt.Println(exponent (5,3))
}
//a的n次方
//超出uint64的部分会丢失
func exponent (a,n uint64) uint64 {
result := uint64(1)
for i := n ; i > 0; i >>= 1 {
if i&1 != 0 {
result *= a
}
a *= a
}
return result
}