Determine if Number is a Power of Three in Java
The challenge
Given an integer n
, return true
if it is a power of three. Otherwise, return false
.
An integer n
is a power of three, if there exists an integer x
such that n == 3<sup>x</sup>
.
Example 1:
Input: n = 27 Output: true
Example 2:
Input: n = 0 Output: false
Example 3:
Input: n = 9 Output: true
Example 4:
Input: n = 45 Output: false
Constraints:
-2<sup>31</sup> <= n <= 2<sup>31</sup> - 1
The solution in Java code
Using Math.log(n)
divided by Math.log(3)
we can get a double
back which when rounded using Math.round
will result in a 3
being returned if the input number is a power of 3.
We can then compare the power of that to the input value to return a resultant boolean
.