热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Leetcode题解之数学问题(3)3的幂

题目:https:leetcode-cn.comexploreinterviewcardtop-interview-questions-easy25math62题目

题目:https://leetcode-cn.com/explore/interview/card/top-interview-questions-easy/25/math/62/

题目描述:

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

示例 1:

输入: 27
输出: true

示例 2:

输入: 0
输出: false

示例 3:

输入: 9
输出: true

示例 4:

输入: 45
输出: false

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

思路:如果是3的幂 一定能被3除剩下1.就将n除到底。

代码:

class Solution {public boolean isPowerOfThree(int n) {if(n==1){return true;}else if(n==0){return false;}else{while(n%3==0&&n/3!=0){n=n/3;}if(n==1){return true;}else{return false;}}}
}
//别人的代码:
class Solution {public boolean isPowerOfThree(int n) {if(n<1)return false;while(n%3==0)n/=3;return n==1;}
}//另外的方法:递归
class Solution {public boolean isPowerOfThree(int n) {double result = Math.log10(n)/Math.log10(3);return (result==(int)(result))?true:false;}
}

 


推荐阅读
author-avatar
七里汀
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有