刷题专栏(二十二):3 的幂

简介: 刷题专栏(二十二):3 的幂

前言

刷题专栏到目前已经是第二十二篇了,欢迎大家来关注我的刷题专栏,一起来刷题。

今天这道题《3 的幂》,是一道关于数学的题目了。

只要你有小学数学的基础,就可以理清这个逻辑,不过要解出这个题,还需要有一定的编程基础。

下面就让我们一起来看一下吧。

image.png

算法题:3 的幂

根据这道题目的描述来看,其实就是给你一个数值,然后让你去判断这个数值是否是3的幂次方。

也就是说是不是除以3能一直除到1。

一般这种题目,都是通过循环来一直除,最后等于1的话就证明是3的幂次方。

如果最后是一个小数,那就绝对不是了。

当然如果期间的每一次除法之后,一旦出现非整数的情况,就证明不是,返回false即可。

这里有一个特殊情况,那就是当传入值为0时,就直接返回false就行了。

然后在不断循环中判断取余的值是否等于0,如果不等于0,则证明除不尽有小数,则直接返回false。

如果等于0,则直接除以3,进入下一次循环,直到等于1为止。

代码展示

代码如下所示,采用上述方法来实现,大家可以自行参考试一下。

public class Solution {
    public static void main(String[] args) {
        Solution solution = new Solution();
        System.out.println(solution.isPowerOfThree(27));
    }
    public boolean isPowerOfThree(int n) {
        if(n == 0){
            return false;   
        }
        while (n != 1){
            if(n % 3 != 0){
                return false;
            }
            n = n / 3;
        }
        return true;
    }
}

代码执行结果

今天的执行结果差强人意了,内存的问题始终得不到好的解决。

image.png

总结

今天的这道题着实简单,只需要取余、除法即可解出此题。

目录
相关文章
|
7月前
|
算法 Java
刷题专栏(二十五):有效的完全平方数
刷题专栏(二十五):有效的完全平方数
193 2
|
7月前
|
算法 Java
刷题专栏(二十三):4的幂
刷题专栏(二十三):4的幂
103 0
|
7月前
|
算法
刷题专栏(十五):各位相加
刷题专栏(十五):各位相加
58 0
|
7月前
|
算法
刷题专栏(十六):丑数
刷题专栏(十六):丑数
63 0
|
存储 搜索推荐 程序员
最全的C和C++笔试题面试题汇总 第一章(建议收藏)(上)
在C语言当中,这个关键字static有三个明显的作用
|
机器学习/深度学习 C++
C/C++之(四)洛谷刷题基础
C/C++之(四)洛谷刷题基础
849 0
C/C++之(四)洛谷刷题基础
|
机器学习/深度学习 人工智能 C++
C/C++之(三)洛谷刷题基础 上
C/C++之(三)洛谷刷题基础 上
270 0
C/C++之(三)洛谷刷题基础 上
|
机器学习/深度学习 C++
C/C++之(二)洛谷刷题基础 下
C/C++之(二)洛谷刷题基础 下
520 0
|
机器学习/深度学习 C++
C/C++之(三)洛谷刷题基础 下
C/C++之(三)洛谷刷题基础 下
478 0