3的幂(leetcode)
给定一个整数,写一个函数来判断它是否是 3 的幂次方。
示例 1:
输入: 27 输出: true
示例 2:
输入: 0 输出: false
示例 3:
输入: 9 输出: true
示例 4:
输入: 45 输出: false
进阶:
你能不使用循环或者递归来完成本题吗?
c++代码:
class Solution { public: bool isPowerOfThree(int n) { if(n==0) //循环 return false; while(n%3==0){ //只要能被3整除就继续,一直到不能被3整除 n=n/3; } if(n==1) return true; else return false; /* if(n==0) //递归 return false; if(n==1) return true; else if(n % 3 == 0) return isPowerOfThree(n/3); else return false; */ // double res = log10(n) / log10(3); // return (res-int(res)==0)? true : false; } };

浙公网安备 33010602011771号