Formatted question description: https://leetcode.ca/all/326.html
326 Power of Three Given an integer, write a function to determine if it is a power of three. Example 1: Input: 27 Output: true Example 2: Input: 0 Output: false Example 3: Input: 9 Output: true Example 4: Input: 45 Output: false Follow up: Could you do it without using any loop / recursion?
The most straightforward way is to keep dividing by 3 to see if the final iterative quotient is 1. Pay attention to the case where the input is negative and 0.
If no loop, there is a tricky method. Since the input is an int, the range of positive numbers is
0 - 2^31, and the largest power of 3 allowed in this range is
3^19=1162261467, so we only need to see if this number is divisible by n.