326.3的幂


这道题题意不难 但是不用循环或者递归的话 还是有点难度的

class Solution {
    public boolean isPowerOfThree(int n) {
        if(n == 0) return false;
           int x = (int) (Math.log10(n)/Math.log10(3));
           return Math.pow(3,x)==n;
        }
}

第二种比较有意思
如果只有一个1 其他都是0 说明是3的幂 三进制

public class Solution {
    public boolean isPowerOfThree(int n) {
        return Integer.toString(n, 3).matches("^10*$");
    }
}
全部评论

相关推荐

12-27 22:28
门头沟学院 Java
点赞 评论 收藏
分享
牛客77743221...:做一段时间,公司出钱送你去缅甸和泰国旅游
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务