这是第一次因为学习而开博客,在这个程序员大牛汇聚的CSDN发博客倍感压力
在这里的目的就是能够学习到更多东西,同时在博友的督促下能坚持打代码。
希望读者们在阅读时能包容我这个小白犯得低级错误
在这里我相信我的编程能力能得到很大的提升。
OK今天我选的是一道很基础的题。
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?
Credits:
Special thanks to @dietpepsi for adding this problem and creating all test cases.
这道题让我们判断一个数是不是3的次方数,最直接的方法就是采用bool函数,不停除3,能除尽返回true,不能则返回false。
具体代码如下:
在leetcode中提交成功。
除了这个方法,还有就是利用对数的方法来判断
因为 3^n=N;
所以n= log3n;
利用换底公式得:log3n = log10n / log103
在这里我们用bool判断n是否是整数即可。或者利用fmod((log10n / log103),1)==0;(这里不用%的原因是只适用于整型的计算,后一个数不能为0).
同样可以得到我们想要的结果。
在之后的习题中,也会有python的解题方式。请大家批评指正。