小白开博+每日一题.2017001

      这是第一次因为学习而开博客,在这个程序员大牛汇聚的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的解题方式。请大家批评指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值