美文网首页
IOS 算法(基础篇) ----- 3的幂

IOS 算法(基础篇) ----- 3的幂

作者: ShawnAlex | 来源:发表于2021-03-09 14:11 被阅读0次

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

例子

输入:n = 27
输出:true

输入:n = 0
输出:false

输入:n = 9
输出:true

输入:n = 45
输出:false

解题思路

循环法

① 循环除以3
② 判断余数是否为0
③ 如果是3的幂次方, 当余数不为0的时候结果为1

未翻译版
    func isPowerOfThree(_ n: Int) -> Bool {

        if n == 0 { return false }
        var temp = n
        while temp % 3 == 0 { temp /= 3 }
        return temp == 1
        
    }
翻译版
    func isPowerOfThree(_ n: Int) -> Bool {

        // 如果是0 直接返回
        if n == 0 { return false }

        // 定义temp为n
        var temp = n

        // 循环 当temp不为3时结束 
        while temp % 3 == 0 { temp /= 3 }

        // 余数为1满足, 不为1不满足
        return temp == 1
        
    }

题目来源:力扣(LeetCode) 感谢力扣爸爸 :)
IOS 算法合集地址

相关文章

网友评论

      本文标题:IOS 算法(基础篇) ----- 3的幂

      本文链接:https://www.haomeiwen.com/subject/qnsmqltx.html