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

C++での例の邪悪な数


この問題では、配列に番号Nが与えられます。私たちのタスクは、その番号が悪の数であるか、いやらしい数であるかを確認することです。

邪悪な数: これは、2進展開で偶数の1を持つ正の数です。

例: 5、17

いやらしい数: これは、2進展開で奇数の1を持つ正の数です。

例: 4、6

問題を理解するために例を見てみましょう

入力: N =65

出力: 邪悪な数

説明:

65のバイナリ展開:1000001

ソリューションアプローチ:

この問題の簡単な解決策は、数の2進展開を見つけて、展開内の1の数を数えることです。カウントが偶数の場合、その数は邪悪な数であり、そうでない場合は、いやらしい数です。

ソリューションの動作を説明するプログラム

#include <iostream>
using namespace std;

int isEvilNumber(int n) {

   int count = 0;
   while (n != 0) {
      int r = n % 2;
      if(r == 1)
         count++;
      n = n / 2;
   }
   
   if (count % 2 == 0)
      return 1;
   else
      return 0;
}

int main(void)
{
   int num = 2049;
   if (isEvilNumber(num) )
      cout<<"The number "<<num<<" is an Evil Number";
   else
      cout<<"The number "<<num<<" is an Odious Number";
   return 0;
}

出力-

The number 2049 is an Evil Number

  1. C++五胞体数

    五胞体数は、パスカルの三角形の5番目の数として表されます。ご存知のように、これは5番目の数字です。つまり、パスカルの三角形に少なくとも5つの数字が必要です。したがって、このシリーズの最初の数字は 1 4 6 4 1から始まります。 パスカルの三角形の4行目。したがって、このチュートリアルでは、たとえば、n番目の五胞体数を見つける必要があります Input : 1 Output : 1 Input : 4 Output : 35 次の図から出力を確認できます- この問題については、可能な限り、これは一種のシリーズであるため、ソリューションでこのシリーズのパターンを見つけようと

  2. C++での例を含む式ツリー

    式ツリーは、ツリーの各ノードが演算子またはオペランドで構成される特殊なタイプの二分木です。 リーフノード ツリーのオペランドを表します 。 非リーフノード ツリーの演算子を表します 。 例: 簡単に解決できる中置式を取得するには、順序トラバーサルを使用してツリーをトラバースする必要があります。