题目:
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的次方得到,首先这个数必须是正数,其次以log3(num)必定是正数
这样就可以不用循环就得到结果
class Solution {
public:
bool isPowerOfThree(int n) {
if(n <= 0)
return false;
return n == pow(3, round(log(n) / log(3)));
}
};
本文提供了一种不使用循环或递归的方法来判断一个整数是否可以表示为3的幂次方。通过计算log3(num),我们可以得出结论。
810

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



