您的位置:首页 > 其它

Power of Three ,判断一个数是否为3的n次幂

2016-04-21 18:50 375 查看
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?

=========================================常规方法==================================

public boolean isPowerOfThree(int n) {

if(n<=0){

return false;

}

// double num=Math.log(n)/Math.log(3); log()与log10()与log1p()的区别

double num=Math.log10(n)/Math.log10(3);

if(num%1==0){

return true;

}else{

return false;

}

}

=============================流氓方法=================================

public class Solution {
public boolean isPowerOfThree(int n) {
// 1162261467 is 3^19,  3^20 is bigger than int
return ( n>0 &&  1162261467%n==0);
}


}
//1162261467是32位系统中,3的最高次幂19
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: