3的幂

给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。

整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3x

public boolean isPowerOfThree(int n) {
        if(n==1) return true;
        while(n>3){
            if(n%3 == 0){
                n/=3;
            }else{
                return false;
            }
        }
        return n==3;
    }

在int类型范围内i,3的19次方=1162261467,只需要n是1162261467的约数就行.

public boolean isPowerOfThree(int n) {
        return n > 0 && 1162261467 % n == 0;
    }
posted @ 2021-09-23 09:40  落笔生花  阅读(264)  评论(0)    收藏  举报