3的幂解题方案:笨递归
var isPowerOfThree = function(n) {
if(n==1){
return true;
}
if(n<1){
return false
}
var n = n/3;
return isPowerOfThree(n)
};
**解题思路:**用传入的整数一直除以3,知道结果小于等于1,等于1就是3的幂,小于1就不是;
4的幂这道题用递归的话,会堆栈溢出,换一个循环
var isPowerOfFour = function(num) {
if(num<1){
return false
}
while(num%4==0){num = num/4;}
return num===1
};

本文介绍了一种通过递归和循环来判断一个数是否为3的幂或4的幂的算法。对于3的幂,采用递归方式不断除以3直至结果小于等于1;对于4的幂,则使用循环进行除法操作直到不能被4整除。两种方法简洁有效。
441

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



