leetcode 326 Power of Three C++

来源:互联网 发布:300英雄淘宝店 编辑:程序博客网 时间:2024/06/09 13:44

题意是看是否是3的幂,简单的做法:

bool isPowerOfThree(int n) {        for (int i = 0;;i++){            if (pow(3,i)>n) return false;            if (pow(3,i) == n) return true;        }        return false;    }

不用递归和循环的做法,利用了log函数,不能直接用log,因为当log(243)的时候,会因为精度的问题出现错误。

return fmod(log10(n)/log10(3), 1)==0;

fmod这个函数求余后能够取得小数点后面的部分,直接求余不行。

0 0
原创粉丝点击