leetcode-326-Power of Three
2016-02-29 18:04
211 查看
不用循环或遍历,用对数判断,如果它以3为底的对数是整数的话说它是3的幂,否则就不是。
不过注意浮点数的问题。
class Solution {
public:
bool isPowerOfThree(int n) {
double res = log(n) / log(3);
double resInt = round(res);<span style="white-space:pre"> </span>//不要用int,会截断小数;用round四舍五入
return abs(res - resInt) < 10e-15; //注意是绝对值,并且不能直接判断是否等于0
}
};
不过注意浮点数的问题。
class Solution {
public:
bool isPowerOfThree(int n) {
double res = log(n) / log(3);
double resInt = round(res);<span style="white-space:pre"> </span>//不要用int,会截断小数;用round四舍五入
return abs(res - resInt) < 10e-15; //注意是绝对值,并且不能直接判断是否等于0
}
};
相关文章推荐
- 22.3 MIDI 和音乐
- AMS解析最详细
- 为什么学C++比C#的长期风险低
- Android AdapterView View的复用机制 分析
- JQuery 获取checkbox被选中的值
- 影响力
- Android 三大图片加载框架比较
- ransack 支援json字段检索
- 密码学:RSA加密算法详解
- effective js-12-变量声明的提升(没有块级作用域)
- sbt 地址修改备注
- 密码学:RSA加密算法详解
- 分享:libgdx调用平台原生UI提示信息
- ScheduledExecutorService定时周期执行指定的任务
- iOS开发 判断用户是否开启了定位服务
- 了解JavaScript 数组对象及其方法
- 隐式转换的一点想法
- 手机向左滑动删除特效
- HTML5拖动
- 如何保证 数据库/文件 之间的同步