326. Power of Three (判断一个数是否为3的幂)

男娘i 2022-07-15 01:35 252阅读 0赞

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?

解法一:使用循环

  1. public class Solution {
  2. public boolean isPowerOfThree(int n) {
  3. if(n<=0)
  4. return false;
  5. while(n!=1){
  6. if(n%3!=0)
  7. return false;
  8. n/=3;
  9. }
  10. return true;
  11. }
  12. }

解法二:3^19是int范围内最大的3的幂,那么 3^19可以被任何3的幂整除。

  1. public class Solution {
  2. public boolean isPowerOfThree(int n) {
  3. return (n>0&&Math.pow(3,19)%n==0);
  4. }
  5. }

发表评论

表情:
评论列表 (有 0 条评论,252人围观)

还没有评论,来说两句吧...

相关阅读