问题:https://leetcode.com/problems/power-of-three/?tab=Description
Given an integer, write a function to determine if it is a power of three.
给定一个整数,判断它是不是3的幂数。
分析:不能用递归和循环。任何一个3的i次方一定能被最大的3的i次方整除。
C++代码:
class Solution {
public:
bool isPowerOfThree(int n) {
if (n <= 0) return 0;
int i = log(INT_MAX) / log(3);
int t= pow(3, i);
return t % n == 0;
}
};