# Golang : Check if integer is power of four example

Problem:

You need to test if a given integer is a power of 4. For example, if given number = 16, return true and if number = 9 return false.

Solution:

Test to see if the number can be divided by 4 until it is 1.

`````` package main

import (
"fmt"
"math"
)

func isPowerOfFour(num int) bool {
for num >= 4 {
if num%4 != 0 {
return false
}
num = num / 4
}
return num == 1
}

func main() {

fmt.Println("Is 9 power of 4? : ", isPowerOfFour(9))

fmt.Println("Is 64 power of 4? : ", isPowerOfFour(64))

fmt.Println("Is 8 power of 4? : ", isPowerOfFour(8))

// if use math.Pow() function, remember to convert float64
// to int
testNumPowerOfFour := int(math.Pow(2, 4))
fmt.Println("Is 16 power of 4? : ", isPowerOfFour(testNumPowerOfFour))

testNumPowerOfFour = int(math.Pow(2, 3))
fmt.Println("Is 8 power of 4? : ", isPowerOfFour(testNumPowerOfFour))
}
``````

Output:

Is 9 power of 4? : false

Is 64 power of 4? : true

Is 8 power of 4? : false

Is 16 power of 4? : true

Is 8 power of 4? : false

References:

https://www.socketloop.com/tutorials/golang-math-pow-the-power-of-x-y-example