342. 4的幂

Posted lgz0921

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了342. 4的幂相关的知识,希望对你有一定的参考价值。

题目链接:https://leetcode-cn.com/problems/power-of-four/

思路:首先说明一下,程序中log函数是以e为底的(举个例子:log5  也就是:ln5),所以当我们算log_{4}^{n}的时候就需要换底公式(换底公式为:log_{4}^{n} = \\frac{lnn}{ln4} ,这里是举例说明一下公式哦~~~,哈哈哈哈~~~~,里面的4和n可以换成任意数哦~~~,当然换底的底也可以是任意数不一定必须是e,这里写成底为e是为了和程序中的log函数的底相同~~~~ ),用了换底公式,就可以用代码写了,比如求log_{4}^{n}就可以这样来做(log_{4}^{n} = \\frac{lnn}{ln4} = \\frac{logn}{log4})。4^{x} = n的x就是log_{4}^{n}的值,即x = log_{4}^{n}。算出x后判断一下x是不是正好是一个整数即可(判断的写法看代码即可)。

上代码:

class Solution {
    fun isPowerOfFour(n: Int): Boolean {
        return when (val x = Math.log(n.toDouble()) / Math.log(4.toDouble())) {
            x.toInt().toDouble() -> true
            else -> false
        }
    }
}

 

以上是关于342. 4的幂的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 342 4的幂[循环 递归 位运算] HERODING的LeetCode之路

342. 4的幂

LeetCode342. 4的幂 / 第243场周赛

leetcode刷题笔记342 4的幂

342. 4的幂

[LeetCode] 342. 4的幂