美文网首页
326-3的幂

326-3的幂

作者: 饮酒醉回忆 | 来源:发表于2019-06-18 10:35 被阅读0次

    3的幂

    题目

    给定一个整数,写一个函数来判断它是否是 3的幂次方。

    示例 1:

    输入: 27
    输出: true
    

    示例 2:

    输入: 0
    输出: false
    

    示例 3:

    输入: 9
    输出: true
    

    示例 4:

    输入: 45
    输出: false
    

    进阶:
    你能不使用循环或者递归来完成本题吗?

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/power-of-three
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    思路

    • 使用循环或者递归很简单,依次除3,到最后为1时没有余数即可
    • int中3的幂最大的数是1162261467,判断这个数对3取余即可

    代码

    • 循环
    class Solution {
        public boolean isPowerOfThree(int n) {
            //循环
            if(n == 1){
                return true;
            }
            if(n < 3){
                return false;
            }
            while(n != 1){
                if(n % 3 != 0){
                    return false;
                }
                n = n/3;
            }
            return true;
        }
    }
    
    • 取余
    class Solution {
        public boolean isPowerOfThree(int n) {
            //不使用循环或者递归
            return n > 0 && 1162261467%n == 0;
        }
    }
    

    相关文章

      网友评论

          本文标题:326-3的幂

          本文链接:https://www.haomeiwen.com/subject/jxmxqctx.html