[LeetCode 326] Power of Three
2016-04-01 16:15
288 查看
题目:
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?(更进一步,是否能不使用循环和递归)
递归做法:
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?(更进一步,是否能不使用循环和递归)
递归做法:
bool isPowerOfThree(int n) { if (n == 1) return true; if (n == 0) return false; if (n % 3 == 0) { return isPowerOfThree(n / 3);//如果是3的某次方,最终返回到n==1 true; } return false; }利用除法求n的3次方跟,如果是正整数则返回true;
bool isPowerOfThree(int n) { double res = log(n) / log(3); return abs(res - rint(res))< 0.0000000001; //rint 向远离0的方向取整 }
相关文章推荐
- Java泛型 翻译泛型方法
- 浅谈BI领域的数据模型设计(二)
- hdu5432Rikka with Array (数位dp+十进制转化为二进制)
- iOS 删除stroryboard
- Android中自定义ListView,解决scrollview嵌套listview 滑动事件冲突
- 吉特仓库管理系统-.NET4.0环境安装不上问题解决
- leetcode--求区间内的元素个数
- Fragment+FragmentTabHost实现仿新浪微博底部菜单栏
- 【PHP内核】语法:IF判断的实现
- 遗传算法入门(连载之二)
- 设计模式系列(七)——命令模式
- Canny算子中的非极大值抑制(Non-Maximum Suppression)分析
- Java单例模式的写法
- 机器学习算法的Python实现 (1):logistics回归 与 线性判别分析(LDA)
- linux java Cannot allocate memory
- 工厂模式原理及其简单应用
- AdminLTE 入门教程
- 动态规划算法解最长公共子序列LCS问题
- 接口interface
- Nginx+多tomcat7的负载均衡和动静分离配置