342. Power of Four(数值型)

problem:

Given an integer (signed 32 bits), write a function to check whether it is a power of 4.

Example 1:

Input: 16
Output: true

Example 2:

Input: 5
Output: false

tip:

判断一个数是否是4的幂级数。

solutions:

1.最直接,首先想到的方法:

   class Solution {
    public:
        bool isPowerOfFour(int num) {
           int n = num;
          while(n && (n%4==0))
              n = n/4;
            return n==1;
        }
    };

2.使用换底公式,只能使用以10为底(具体原因参见参考博客)。

class Solution {
public:
    bool isPowerOfFour(int num) {
        int n = num;
        return n && (int)(log10(n)/log10(4))-(log10(n)/log10(4))==0;
    }
};

3.参照2的幂级数:
最高位为1,减1后与自身做&运算结果为0,同时是4的幂级数的数减1后刚好是3的整数倍。

class Solution {
public:
    bool isPowerOfFour(int num) {
       int n = num;
       return (n>0)&&(!(n&(n-1)))&&(!((n-1)%3));
    }
};

类似题目:

判断是否为3的幂级数
判断是否为2的幂级数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中的np.power()函数是用来计算一个数组或数字的乘方的。它接受两个参数,第一个参数是要进行乘方运算的数组或数字,第二个参数是乘方的指数。根据参数的不同类,np.power()函数的行为也会有所不同。 - 当第一个参数是一个单个数字,第二个参数也是一个单个数字时,np.power()函数会计算第一个数字的第二个数字次方。例如,np.power(2, 3)的结果是8,表示计算2的3次方。 - 当第一个参数是一个列表,第二个参数是一个单个数字时,np.power()函数会对列表中的每个数字分别进行乘方运算,结果返回一个新的列表。例如,np.power([2,3,4], 3)的结果是[8, 27, 64],表示对列表中的每个数字分别计算3次方。 - 当第一个参数是一个单个数字,第二个参数是一个列表时,np.power()函数会将第一个数字分别与列表中的每个数字进行乘方运算,结果返回一个新的列表。例如,np.power(2, [2,3,4])的结果是[4, 8, 16],表示将2分别计算2次方、3次方和4次方。 - 当第一个参数和第二个参数都是列表时,np.power()函数会将两个列表中对应位置的数字进行乘方运算,结果返回一个新的列表。例如,np.power([2,3], [3,4])的结果是[8, 81],表示分别计算2的3次方和3的4次方。 总结来说,np.power()函数可以对单个数字或列表中的数字进行乘方运算,并返回结果。具体返回结果的形式取决于输入参数的类和形状。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值