1. 题目

给定一个整数,写一个函数来判断它是否是 3 的幂次方。

示例 1:
输入: 27
输出: true示例 2:
输入: 0
输出: false示例 3:
输入: 9
输出: true示例 4:
输入: 45
输出: false进阶:
你能不使用循环或者递归来完成本题吗?

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/power-of-three
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

能整除以3的话,不断往下除,最后应该等于1

class Solution {public:bool isPowerOfThree(int n) {if(n < 1)return false;while(n%3 == 0)n /= 3;return n == 1;}
};

或者把 int 最大的3的倍数拿出来 对n 取模

class Solution {public:bool isPowerOfThree(int n) {return n > 0 && 1162261467 % n == 0;}
};

数字怎么来的?如下

     int largest3 = pow(3, int(log(INT_MAX)/log(3)));return n>0 && largest3%n == 0;

LeetCode 326. 3的幂相关推荐

  1. leetcode 326. 3的幂(Power of Three)

    目录 题目描述: 示例 1: 示例 2: 示例 3: 示例 4: 进阶: 解法: 题目描述: 给定一个整数,写一个函数来判断它是否是 3 的幂次方. 示例 1: 输入: 27输出: true 示例 2 ...

  2. LeetCode 342. 4的幂(位运算)

    文章目录 1. 题目 2. 解题 2.1 通用解法 2.2 找规律 1. 题目 给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方. 示例 1: 输入: 16 输出: t ...

  3. LeetCode 231. 2的幂 LeetCode 338. 比特位计数(2进制1的个数)

    文章目录 1. 题目信息 2. 解题 拓展:求一个数n的2进制有多少个1? LeetCode 338 1. 题目信息 给定一个整数,编写一个函数来判断它是否是 2 的幂次方. 示例 1:输入: 1 输 ...

  4. leetcode算法总结 —— 快速幂算法

    文章目录 1. 引出快速幂算法 2. 简化语句 3. 使用位运算来提升性能 4. 对应leetcode题型 参考的是大神的文章,这篇文章相当好 https://blog.csdn.net/qq_197 ...

  5. Leetcode 231. 2的幂 解题思路及C++实现

    方法一:递归,暴力解法 解题思路: 如果 n 是 0 或 1,需要做一个判断,如果n大于1,则可以对其取余,再做判断. class Solution { public:bool isPowerOfTw ...

  6. 文巾解题 326. 3的幂

    1 题目描述 2 解题思路 2.1 循环递归 class Solution:def isPowerOfThree(self, n: int) -> bool:if(n<=0):return ...

  7. leetcode 231. 2 的幂

    给你一个整数 n,请你判断该整数是否是 2 的幂次方.如果是,返回 true :否则,返回 false . 如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方. 示例 1: 输 ...

  8. leetcode 231. 2的幂

    给定一个整数,编写一个函数来判断它是否是 2 的幂次方. 示例 1: 输入: 1 输出: true 解释: 20 = 1 示例 2: 输入: 16 输出: true 解释: 24 = 16 示例 3: ...

  9. LeetCode 326. Power of Three

    题目: Given an integer, write a function to determine if it is a power of three. Follow up: Could you ...

最新文章

  1. centos 安装 aria2 webui 实现网页下载
  2. 美亚排名超高的Docker入门书,不止简单易懂
  3. java-类(class)继承,重写,重构,抽象,接口等
  4. 新入公司 问问题 ,快速了解代码的方法
  5. 【bzoj3524】【Poi2014】【Couriers】可持久化线段树(主席树)水题
  6. linux命令find
  7. 【正视CSS 06】构建我们自己的世界观!
  8. HDU - 1358 Period(KMP的next数组求最小循环节)
  9. 冲动是魔鬼!国庆换机如何不花冤枉钱?
  10. as3与php交互实现总结
  11. Objective C 的 private
  12. 如何获取淘宝APP原数据现场教学
  13. python鸡兔同笼问题
  14. 基于TILE-GX实现快速数据包处理框架-netlib实现分析
  15. 理票侠打开OFD格式发票步骤
  16. androidP Surface到SurfaceFlinger -->创建Surface (二)
  17. 【定积分】区间再现公式的证明及其推论
  18. android翻盖手机双屏显示,使用双屏翻盖手机是一种怎样的体验?
  19. 伟大的父亲|顶级富豪写给儿子的一封信,点醒无数人!
  20. AllCMS黔科聚信—企业信息化一站式解决方案

热门文章

  1. skywalking服务端_skywalking部署
  2. 第二季3:海思MPP模块与视频缓冲池
  3. Mysql索引类型分析
  4. 青蛙学Linux—NFS
  5. Python学习之==第三方模块的安装、模块导入
  6. Python实现比较两个列表(list)范围
  7. Everyday is an Opportunity
  8. ubuntu安装codeblock的方法
  9. 你见过的MCU最高GPIO翻转频率是多少?
  10. Kconfig中的“depends on”和“select”