C++で偶数および奇数の積を持つ順序対の数をカウントします
n個の正の数の配列が与えられます。目標は、順序対(arr [x]、arr [y])をarr[x]とarrの積でカウントすることです。 [y]は偶数または奇数です。ペア(arr [i]、arr [j])と(arr [j]、arr[i]は別々にカウントされます。
ペアの数ごとに2つのforループを使用して配列をトラバースします。次に、製品を計算します。偶数の製品の場合は偶数の増分カウントが2で、奇数の製品の場合は増分カウントが2です。
例を挙げて理解しましょう。
入力 − arr [] ={1,1,2,3} N =4
出力 −偶数の製品ペアの数:6奇数の製品ペアの数:6
説明 −有効な奇数の積ペアは−
Arr[0] & Arr[1] → (1,1) Arr[1] & Arr[0] → (1,1) count=2 Arr[0] & Arr[3] → (1,3) Arr[3] & Arr[0] → (3,1) count=2 Arr[1] & Arr[3] → (1,3) Arr[3] & Arr[1] → (3,1) count=2 Total=6 Valid even product pairs are: Arr[0] & Arr[2] → (1,2) Arr[2] & Arr[0] → (2,1) count=2 Arr[1] & Arr[2] → (1,2) Arr[2] & Arr[1] → (2,1) count=2 Arr[2] & Arr[3] → (2,3) Arr[3] & Arr[2] → (3,2) count=2 Total=6
入力 − arr [] ={2,2,2} N =3
出力 −偶数の製品ペアの数− 6奇数の製品ペアの数− 0
説明 −有効な偶数の製品ペアは−
Arr[0] & Arr[1] → (2,2) Arr[1] & Arr[0] → (2,2) count=2 Arr[1] & Arr[2] → (2,2) Arr[2] & Arr[1] → (2,2) count=2 Arr[2] & Arr[3] → (2,2) Arr[3] & Arr[2] → (2,2) count=2 Total=6 No odd product as all elements are even.
以下のプログラムで使用されているアプローチは次のとおりです
-
乱数で初期化された整数配列arr[]を使用します。
-
Arr[]の長さを格納する変数nを取ります。
-
関数countPairs(int arr []、int n)は配列を受け取り、その長さを入力として受け取り、偶数と奇数の積を持つペアの数を出力します。
-
ペアの要素ごとに2つのforループを使用して配列をトラバースします。
-
0 <=i
-
arr [i] * arr [j]%2==0かどうかを確認します。 arr [i]、arr[j]およびarr[j]、arr [i]として偶数の製品ペアのカウントのcount1を2インクリメントすると、2ペアになります。
-
上記の条件が偽の場合、奇数の積ペアのcount2を2ずつインクリメントします。
-
すべてのループの終わりに、count1には偶数の積を持つペアの総数があり、count2には奇数の積を持つペアの総数があります
-
結果としてcount1とcount2を出力します。
例
#include <bits/stdc++.h> using namespace std; void countPairs(int arr[], int n){ int count1=0; //even product pairs int count2=0; //odd product pairs int prod=1; for(int i=0;i<n-1;i++){ for(int j=i+1;j<n;j++){ prod=arr[i]*arr[j]; if(prod%2==0) //product is even { count1+=2; } //(a,b) and (b,a) as two pairs else { count2+=2; } } } cout<<"Even Product pairs: "<<count1; cout<<endl<<"Odd Product pairs: "<<count2; } int main(){ int arr[] = { 1,2,7,3 }; int n = sizeof(arr) / sizeof(int); countPairs(arr, n); return 0; }
出力
上記のコードを実行すると、次の出力が生成されます-
Even Product pairs: 6 Odd Product pairs: 6
-
C++の配列内の偶数要素と奇数要素の数をカウントします
このチュートリアルでは、配列内の偶数要素と奇数要素の数を見つけるプログラムについて説明します。 このために、アレイが提供されます。私たちのタスクは、指定された配列の偶数要素と奇数要素の数を計算することです。 例 #include<iostream> using namespace std; void CountingEvenOdd(int arr[], int arr_size){ int even_count = 0; int odd_count = 0; //looping through the
-
C++で奇数と偶数のノードを含むすべてのレベルを出力します
この問題では、ツリーが与えられます。そして、偶数のノードと奇数のノードを含むすべてのレベルを印刷する必要があります。 概念をよりよく理解するために例を見てみましょう 出力- Levels with odd number of nodes: 1, 3, 4 Levels with even number of nodes: 2 説明 −第1レベルには1つの要素(奇数)、第2レベルには2つの要素(偶数)、第3レベルには3つの要素(奇数)、第4レベルには1つの要素(偶数)が含まれます。 さて、この問題を解決するために。各レベルでノードの数を見つけ、それに応じて偶数-奇数レベルを出力す