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的幂。如果一个整数是3的幂,那么就可以表示为
3 ^ x = n [color=violet]=>[/color] log(3^x) = log(n) [color=violet]=>[/color] xlog(3) = log(n) [color=violet]=>[/color] x = log(n) / log(3)。我们只需要判断x是否为整数就可以了,代码如下:
Follow up:
Could you do it without using any loop / recursion?
判断一个整数是否为3的幂。如果一个整数是3的幂,那么就可以表示为
3 ^ x = n [color=violet]=>[/color] log(3^x) = log(n) [color=violet]=>[/color] xlog(3) = log(n) [color=violet]=>[/color] x = log(n) / log(3)。我们只需要判断x是否为整数就可以了,代码如下:
public class Solution {
public boolean isPowerOfThree(int n) {
if(n <= 0) return false;
double d = Math.log10(n) / Math.log10(3);
return d % 1 == 0 ? true : false;
}
}
判断整数是否为3的幂
本博客介绍了一个函数,用于确定给定整数是否为3的幂。通过使用对数运算,我们可以轻松判断一个整数是否可以表示为3的指数形式。此方法不依赖于循环或递归。
239

被折叠的 条评论
为什么被折叠?



