判断一个数是否N的幂貌似用这个方法都可以搞定。就是让这个数不停的除以N.同时判断中间值x是否是N的倍数(也就是x%N==0).如果不是则这个数肯定不是N的幂,否则到最后一定是N的幂
bool isPowerOfN(int n) {
if(n<=0){ /*如果小于等于0 则返回不是*/
return false;
}
if(n == 1){ /*任何数的0次方等于1,所以返回OK*/
return true;
}
while(n>1){/*这里不停的/n,但需要判断中间值是否还是N的倍数,这里循环的结束条件就是n除到1位置,小于等于1则退出循环*/
if(n % N != 0){
return false;
}
n = n/ N; /*这里不停的/n*/
}
return true;
}
判断一个数是否为N的幂
最新推荐文章于 2022-11-08 11:51:11 发布