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

条件文を使用せずに「偶数」または「奇数」を出力するC++プログラム


このセクションでは、(<、<=、!=、>、> =、==)のような条件付きステートメントを使用せずに、数値が奇数か偶数かを確認する方法を説明します。

条件文を使用することで、奇数または偶数を簡単に確認できます。数値を2で割って、余りが0かどうかを確認できます。 0の場合、それは偶数です。それ以外の場合は、数値と1を使用してAND演算を実行できます。答えが0の場合は偶数、それ以外の場合は奇数です。

ここでは、条件ステートメントを使用できません。奇数または偶数をチェックするための2つの異なる方法が表示されます。

方法1

ここでは、文字列の配列を作成します。インデックス0の位置は「偶数」を保持し、インデックス1の位置は「奇数」を保持します。数値を2で割った余りをインデックスとして送信し、直接結果を得ることができます。

サンプルコード

#include <iostream>
using namespace std;
main() {
   int n;
   string arr[2] = {"Even", "Odd"};
   cout << "Enter a number: "; //take the number from the user
   cin >> n;
   cout << "The number is: " << arr[n%2]; //get the remainder to choose
   the string
}

出力1

Enter a number: 40
The number is: Even

出力2

Enter a number: 89
The number is: Odd

方法2

これは2番目の方法です。この方法では、いくつかのトリックを使用します。ここでは、論理演算子とビット単位の演算子が使用されています。最初に、数値と1を使用してAND演算を実行します。次に、論理を使用して、奇数または偶数を出力します。ビット単位のANDの結果が1の場合、論理AND演算のみが奇数の結果を返します。それ以外の場合は偶数を返します。

サンプルコード

#include <iostream>
using namespace std;
main() {
   int n;
   string arr[2] = {"Even", "Odd"};
   cout << "Enter a number: "; //take the number from the user
   cin >> n;
   (n & 1 && cout << "odd")|| cout << "even"; //n & 1 will be 1 when 1
   is present at LSb, so it is odd.
}

出力1

Enter a number: 40
even

出力2

Enter a number: 89
odd

  1. C++を使用して再帰を使用せずにルートからリーフへのパスを出力するプログラム

    このチュートリアルでは、ルートノードから特定のバイナリツリー内のすべてのリーフノードへのパスを出力するプログラムについて説明します。 たとえば、次の二分木があるとしましょう この二分木には、4つのリーフノードがあります。したがって、ルートノードからリーフノードへのパスは4つになります。 これを解決するために、反復アプローチを使用します。二分木のプレオーダートラバーサルを実行している間、マップに親ポインタを格納できます。トラバーサル中にリーフノードに遭遇したときはいつでも、親ポインタを使用してルートノードからそのパスを簡単に出力できます。 例 #include <bits/st

  2. Pythonプログラムでループを使用せずに数値シリーズを印刷する

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 2つの数NとKが与えられた場合、問題は、数(N)がゼロ(0)より大きくなるまでNから数Kを引くことです。次に、Nが負またはゼロになると、その数が元になるまでKを加算し始めます。番号(N)。 例 N = 10 K = 4 出力 10 6 2 -2 2 6 10 アルゴリズム Nがゼロより大きくなるまで関数を何度も呼び出します(すべての関数呼び出しで、NからKを減算します)。 数値が負またはゼロになると、数値が元の数値になるまで、各関数呼び出しでKを追加し始めます。 ここでは、加算と減算