题目:
Given an integer, write a function to determine if it is a power of three.
Follow up:
Could you do it without using any loop / recursion?
思路:
这个问题是求一个数是不是3的次方数,可以有两种解法:
1.采用余数的算法
2.利用了java 的对数运算,判断3的对象是否实在整数,其中用到了换底公式
代码1
public class Solution {
public boolean isPowerOfThree(int n) {
if(n <= 0){
return false;
}else{
while(n % 3 == 0){
n = n/3;
}
return n == 1;
}
}
}