力扣第27刷-3 的幂

简介: 力扣第27刷-3 的幂

Example 27

3 的幂

题目概述:给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。

整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3x

示例 1:

输入:n = 27

输出:true

示例 2:

输入:n = 0

输出:false

示例 3:

输入:n = 9

输出:true

示例 4:

输入:n = 45

输出:false

解题思路:在题目给定的32 位有符号整数的范围内,最大的3 的幂为 319 = 11622614673 。因此只需要判断n 是否是 319的约数即可。

除此之外,还需要特殊判断n 是负数或0 的情况。

解题步骤:

1. 判断是否n大于0(n小于等于0时,n一定不是3的幂)且11622614673能够被n整除(只有3的幂次方才能整除11622614673),并将结果返回。

 

示例代码如下:

public class PowerOfThree {
    /**
     * 给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。
     * 整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3x
     * 示例 1:
     * 输入:n = 27
     * 输出:true
     * 示例 2:
     * 输入:n = 0
     * 输出:false
     * 示例 3:
     * 输入:n = 9
     * 输出:true
     * 示例 4:
     * 输入:n = 45
     * 输出:false
     * 来源:力扣(LeetCode)
     * 链接:https://leetcode.cn/problems/power-of-three
     */
    public static void main(String[] args) {
        PowerOfThree pot = new PowerOfThree();
        System.out.println(pot.isPowerOfThree(27)); // true
    }
    /**
     * 官方
     *
     * @param n
     * @return
     */
    public boolean isPowerOfThree(int n) {
        return n > 0 && 1162261467 % n == 0;
    }
    /**
     * 个人
     * @param n
     * @return
     */
    /*public boolean isPowerOfThree(int n) {
        if (n <= 0) return false;
        while (n % 3 == 0) n = n / 3;
        return n == 1;
    }*/
}
相关文章
|
网络安全
rsync报错: Operation not permitted (1)
[rsync报错:rsync: chgrp “.initial-setup-ks.cfg.jaXlVz” (in backup) failed: Operation not permitted (1)] 问题背景:在配置好rsync服务和客户端后,客户端从服务端拉取是正常的,但从客户端推送到服务端报错。 a,单独推送目录会报这个错误 rsync: recv_generator: mkdir “opt” (in backup) failed: Permission denied (13)
2126 0
|
存储 网络安全 文件存储
NAS与云存储哪个更适合家庭使用?
【6月更文挑战第30天】NAS与云存储哪个更适合家庭使用?
901 58
|
网络协议 Linux
Linux 网络配置
了解基本命令与权限后,如何让Linux系统联网?可通过编辑`/etc/sysconfig/network-scripts/`下的`ifcfg-ethX`文件配置网卡,其中`ethX`代表第X块网卡。对于DHCP自动获取或静态IP,需设置`BOOTPROTO`参数,并指定IP、子网掩码和网关等。配置完成后,运行`/etc/init.d/network restart`重启网络。DNS可在`/etc/resolv.conf`中设置,添加`nameserver`行即可,无需重启网卡。配置好后,可用`ifconfig`查看IP信息,并通过远程工具如SecureCRT连接服务器。
343 0
|
机器学习/深度学习 人工智能 自然语言处理
AIGC爆发下的文化科技融合浪潮
【1月更文挑战第20天】AIGC爆发下的文化科技融合浪潮
242 5
AIGC爆发下的文化科技融合浪潮
|
JavaScript 容器
模态框(Modal
模态框(Modal)是一种用于在网页上展示重要信息或功能的交互式窗口。它通常在页面顶部或页面中部弹出,覆盖在页面之上,使页面部分内容不可见,直到模态框被关闭。模态框可以包含文本、图像、表单、按钮等元素,用于向用户展示信息、获取用户输入或执行其他操作。
411 4
|
索引
使用MATLAB驱动USRP-N320实现OFDM自收自发
使用MATLAB驱动USRP-N320实现OFDM自收自发
543 0
|
Python
ZSH、oh-my-zsh安装教程及插件和主题推荐
ZSH、oh-my-zsh安装教程及插件和主题推荐
2108 0
|
Java 关系型数据库 Nacos
Nacos常见问题之内存呈周期性波动如何解决
Nacos是一款易于使用的动态服务发现、配置管理和服务管理平台,针对不同版本可能出现的兼容性和功能问题,本汇总贴心整理了用户在使用Nacos时可能遇到的版本相关问题及答案,以便用户能够更顺畅地进行服务治理和配置管理。
220 0
|
Python
Python办公自动化【Excel查询重复数据、Excel提取身份证号信息、Python操作Excel模块库文档、Python操作Word基础 】(四)-全面详解(学习总结---从入门到深化)
Python办公自动化【Excel查询重复数据、Excel提取身份证号信息、Python操作Excel模块库文档、Python操作Word基础 】(四)-全面详解(学习总结---从入门到深化)
342 0
|
前端开发 JavaScript Java
毕业设计|基于SpringBoot+Vue的前后端分离的电影购票系统
毕业设计|基于SpringBoot+Vue的前后端分离的电影购票系统
373 0