栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

2021-11-06:3的幂。给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。整数 n 是 3 的幂次方需满足:存在整数 x 使得 n ==

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-11-06:3的幂。给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。整数 n 是 3 的幂次方需满足:存在整数 x 使得 n ==

2021-11-06:3的幂。给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3**x。力扣326。

答案2021-11-06:

如果一个数字是3的某次幂,那么这个数一定只含有3这个质数因子。
4052555153018976267是int型范围内,最大的3的幂,它是3的38次方。
这个4052555153018976267只含有3这个质数因子,如果n也是只含有3这个质数因子,那么4052555153018976267% n == 0;反之如果4052555153018976267% n != 0 说明n一定含有其他因子。
时间复杂度:O(1)。
空间复杂度:O(1)。

代码用golang编写。代码如下:

package main

import "fmt"

func main() {

    ret := isPowerOfThree(81)
    fmt.Println(ret)

}

func isPowerOfThree(n int) bool {
    //3的38次方
    return (n > 0 && 4052555153018976267%n == 0)
}

执行结果如下:


左神java代码

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/434210.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号