博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode刷题笔记326 3的幂
阅读量:5111 次
发布时间:2019-06-13

本文共 709 字,大约阅读时间需要 2 分钟。

题目描述:

给出一个整数,写一个函数来确定这个数是不是3的一个幂。

后续挑战:

你能不使用循环或者递归完成本题吗?

 

题目分析:

既然不使用循环或者递归,那我可要抖机灵了

如果某个数n为3的幂 ,则k=log3N

代码思路:

首先求出int范围最大的3的幂   Max3

如果n为3的幂,则Max3必定能整除n

so,直接上代码

 

解答代码:

C++版:

class Solution {public:    bool isPowerOfThree(int n) {        if(n<=0)return false;        const int maxint=0x7fffffff;        int k=log(maxint)/log(3);        int b3=pow(3,k);        return (b3%n==0);    }};
Code

Python版:

class Solution:    def isPowerOfThree(self, n):        """        :type n: int        :rtype: bool        """        if n <= 0:            return False        maxint = 0x7fffffff        k=math.log(maxint)//math.log(3)        b3=3**k        return (b3%n)==0
Code

 

转载于:https://www.cnblogs.com/qflyue/p/8973907.html

你可能感兴趣的文章
查询数据(后台到前台传递数据,显示数据)
查看>>
集群tomcat+apache配置文档
查看>>
VMware Tools安装
查看>>
2019.04.09 电商20 购物车的展示
查看>>
Linux上架设boost的安装及配置过程
查看>>
[转载]加密算法库Crypto——nodejs中间件系列
查看>>
zoj 2286 Sum of Divisors
查看>>
OO5~7次作业总结
查看>>
如何判断主机是大端还是小端(字节序)
查看>>
Centos7 日志查看工具
查看>>
使用Xshell密钥认证机制远程登录Linux
查看>>
BZOJ2459 : [BeiJing2011]神秘好人
查看>>
Django入门示例之被解放的姜戈——01 初试天涯(安装及启动)
查看>>
OpenCV之响应鼠标(三):响应鼠标信息
查看>>
python7 数据类型的相互转化 字符编码
查看>>
Android 画图之 Matrix(一)
查看>>
React Native - 2 控件Flexbox
查看>>
前缀和
查看>>
Jquery插件汇集:
查看>>
Linux 启动、关闭、重启网络服务的两种方式
查看>>