po主第一篇LeetCode练习
题:
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的幂次方,尽量不用循环与递归?
solution:
使用递归或者循环这道题应该是没有难度的,但是不用循环和递归需要转个脑筋。
3x=n
x=log(n)/log(3)
判断x是不是一个整数即可
class Solution {
public:
bool isPowerOfThree(int n) {
double m = log10(n)/log10(3);
if(m-int(m)==0)return true;
return false;
}
};