条件文を使用せずに「偶数」または「奇数」を出力する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
-
C++を使用して再帰を使用せずにルートからリーフへのパスを出力するプログラム
このチュートリアルでは、ルートノードから特定のバイナリツリー内のすべてのリーフノードへのパスを出力するプログラムについて説明します。 たとえば、次の二分木があるとしましょう この二分木には、4つのリーフノードがあります。したがって、ルートノードからリーフノードへのパスは4つになります。 これを解決するために、反復アプローチを使用します。二分木のプレオーダートラバーサルを実行している間、マップに親ポインタを格納できます。トラバーサル中にリーフノードに遭遇したときはいつでも、親ポインタを使用してルートノードからそのパスを簡単に出力できます。 例 #include <bits/st
-
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を追加し始めます。 ここでは、加算と減算