C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++での4の累乗


整数があるとします。それが4の累乗であるかどうかを確認する必要があります。

したがって、入力が16のような場合、出力はTrueになります。

これを解決するには、次の手順に従います-

  • num <0の場合、-

    • falseを返す

  • num&(num-1)がゼロ以外の場合、-

    • falseを返す

  • (num&01010101010101010101010101010101)がゼロの場合、-

    • falseを返す

  • trueを返す

理解を深めるために、次の実装を見てみましょう-

#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

  1. C++のvoid関数から戻る

    void関数は、何も返さないため、voidと呼ばれます。 「void関数は何も返すことができません」このステートメントは常に真であるとは限りません。 void関数からは値を返すことはできませんが、値以外のものを返すことはできます。それらのいくつかは以下のようなものです。 void関数は戻ることができます void関数は値を返すことはできません。ただし、returnステートメントを使用することはできます。機能が終了したことを示します。コードの可読性が向上します。 サンプルコード #include <iostream> using namespace std; void my_fu

  2. C ++で「オブジェクトを返す」方法は?

    オブジェクトはクラスのインスタンスです。メモリは、オブジェクトが作成されたときにのみ割り当てられ、クラスが定義されたときは割り当てられません。 returnキーワードを使用して、関数からオブジェクトを返すことができます。これを実証するプログラムは次のとおりです- 例 #include <iostream> using namespace std; class Point {    private:    int x;    int y;    public:    Point(in