博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode -- Power of Three
阅读量:5077 次
发布时间:2019-06-12

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

Question:

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?

 

Analysis:

给出一个整数,写一个函数判断它是否是3的n次幂。

注意:能否不用循环或递归解决这个问题?

 

Solution1: Using Loop.

//Solution1: Looppublic boolean isPowerOfThree(int n) {         if(n <= 0)             return false;         while(n > 1) {             if(n % 3 != 0)                 break;             else                  n /= 3;         }         return n == 1;}

 

Solution2: Using Recursion.

//Solution2: Recursion.public static boolean isPowerOfThree(int n) {         if(n <= 0)             return false;         if(n == 1)             return true;         if(n % 3 == 0)             return isPowerOfThree(n/3);         else return false;}

 

Solution3: Using Log Function. (logab = logcb / logca)

public boolean isPowerOfThree(int n) {        if(n <= 0)             return false;         double log = Math.log10(n) / Math.log10(3);         if(log - (int)log == 0)             return true;         else return false;    }

 

转载于:https://www.cnblogs.com/little-YTMM/p/5187462.html

你可能感兴趣的文章
JavaScript的迭代函数与迭代函数的实现
查看>>
一步步教你学会browserify
查看>>
Jmeter入门实例
查看>>
亲近用户—回归本质
查看>>
中文脏话识别的解决方案
查看>>
CSS之不常用但重要的样式总结
查看>>
Python编译错误总结
查看>>
URL编码与解码
查看>>
日常开发时遇到的一些坑(三)
查看>>
Eclipse 安装SVN插件
查看>>
深度学习
查看>>
TCP粘包问题及解决方案
查看>>
构建之法阅读笔记02
查看>>
添加按钮
查看>>
移动端页面开发适配 rem布局原理
查看>>
Ajax中文乱码问题解决方法(服务器端用servlet)
查看>>
会计电算化常考题目一
查看>>
阿里云服务器CentOS6.9安装Mysql
查看>>
剑指offer系列6:数值的整数次方
查看>>
js 过滤敏感词
查看>>