Leetcode

Leetcode.326.Power of Three

2019-12-18  本文已影响0人  Jimmy木

题目

给定一个数,判断是否是3的n次方。不要用循环和递归。

Input:4782968
Output:false
Input:27
Output:true
Input:45
Output:false

思路

最简单容易理解的方法就是找出最大的3的n次方,然后除以x。

bool isPowerOfThree2(int n) {
    // 3的19次方
    return n > 0 && 1162261467 % n == 0;
}

总结

比较奇怪的题目,还有使用log(n)/log(3)的方法,但是精度有问题。

上一篇下一篇

猜你喜欢

热点阅读