LeetCode
案例1:
输入: 27
输出: true
示例 2:
输入: 0
输出: false
案例 3:
输入: 9
输出: true
案例 4:
输入: 45
输出: false
func isPowerOfThree(_ n: Int) -> Bool {
if n < 1 {
return false
}
if n == 1 {
return true
}
var s = n
while s > 1 {
if s % 3 != 0 {
return false
}
s = s / 3
}
return true
}
return n > 0 && (Int(pow(Double(3), Double(33))) % n == 0)
为啥是33、、、嗯,自己试试就知道了。。。、、、然后这个执行用时,有时300多,有时200多、、、我也是不知道为什么
进阶执行用时