领扣刷题--326:3的幂

题目描述:

给定一个整数,写一个函数来判断它是否是 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));

	}
}
};

 

你可能感兴趣的:(领扣刷题--326:3的幂)