前言
刷题专栏到目前已经是第二十三篇了,欢迎大家来关注我的刷题专栏,一起来刷题。
今天这道题,简直和上一题一模一样,3的幂和4的幂就是一样的逻辑。
参考上一天的解决思路,这道题我们也大概来看一下吧。S
算法题:4的幂
本道题的描述都和上一题差不多,只是将3换成了4。
我们也是可以使用同样的方法来处理。
一共就分为两个知识点,只要你能熟练使用这两个知识点,就能解出这道题来。
一、取余。
二、除法运算。
通过循环来不停的遍历传入的值。
在循环体中判断余数是否为0,如果为0则直接除以4,进入下一次循环。
如果不为0,则直接返回false,证明不是4的幂次方。
更详细的介绍可以去看看上一题的题解。
下面我们就来看看具体的代码实现吧。
代码展示
本次代码运行如下,其中还加入了上一题中的3的幂次方解决代码。
大家可以一起参考对比一下。
public class Solution { public static void main(String[] args) { Solution solution = new Solution(); System.out.println(solution.isPowerOfThree(27)); System.out.println(solution.isPowerOfFour(64)); } public boolean isPowerOfThree(int n) { if(n == 0){ return false; } while (n != 1){ if(n % 3 != 0){ return false; } n = n / 3; } return true; } public boolean isPowerOfFour(int n) { if(n == 0){ return false; } while (n != 1){ if(n % 4 != 0){ return false; } n = n / 4; } return true; } }
代码执行结果
我严重怀疑这道题解题的人不多,上一道题一样的思路排名很惨烈,这道题竟然这么快。
总结
今天这道题没什么可总结的,还是要看取余和除法的应用是否熟练。
不过在Java中也是存在一些工具方法的,应该能一步到位。