共计 431 个字符,预计需要花费 2 分钟才能阅读完成。
题目 :给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true;否则,返回 false。整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3x
链接 :力扣 Leetcode—高级算法—数学—3 的幂.
示例 1 :
输出:n = 27
输入:true
示例 2 :
输出:n = 0
输入:false
示例 3 :
输出:n = 9
输入:true
示例 4 :
输出:n = 45
输入:false
标签 :递归、数学
思路 :暴力求,一直判断 n 是否为 2 的倍数
次要 Go 代码如下:
package main
import ("fmt")
func isPowerOfThree(n int) bool {
if n == 0 {return false}
// 3 的 0 次方
if n == 1 {return true}
for n != 1 {
pop := n % 3
if pop != 0 {return false}
n /= 3
}
return true
}
func main() {
var n int
fmt.Scanf("%d", &n)
fmt.Println(isPowerOfThree(n))
}
提交截图 :
正文完