题目描述:
给定一个整数,写一个函数来判断它是否是 3 的幂次方。
示例 1:
输入: 27 输出: true示例 2:
输入: 0 输出: false示例 3:
输入: 9 输出: true示例 4:
输入: 45 输出: false
上一篇文章讲的是2的幂这篇来说说3的幂,这一个和上一题的基本思路都相同,如果只想ac可以看我的上一篇wen'文章,2的幂,按照思路走,这里就不再上传代码。
这里讲的是对数的方式,这种方式也并不难理解,就是看log3(n)是不是整数,只要是整数,那n就是3的幂
话不多说,代码如下:
class Solution {
public:
bool isPowerOfThree(int n) {
if (n <= 0)
return false;
else
{
double re = log10(n) / log10(3);
return (re==int(re));
}
}
};