C++ 中的四次方


假设我们有一个整数,我们要检查它是否为四次方。

因此,如果输入为 16,则输出将为真。

要解决这个问题,我们将按照以下步骤操作 -

  • 如果 num < 0,则

    • 返回假

  • 如果 num & (num - 1) 非零,则

    • 返回假

  • 如果 (num & 01010101010101010101010101010101) 为零,则

    • 返回假

  • 返回真

示例

让我们看一看以下实现,以便更好地理解 -

 在线演示

#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
   bool isPowerOfFour(int num){
      if (num < 0)
         return false;
      if (num & (num - 1))
         return false;
      if (!(num & 0x55555555))
         return false;
      return true;
   }
};
main(){
   Solution ob;
   cout << (ob.isPowerOfFour(64));
}

输入

64

输出

1

更新于:2020-06-10

117 次浏览

开启你的 职业生涯

完成课程获得证书

开始学习
广告
© . All rights reserved.