C++の他のすべての要素の合計を分割する配列要素をカウントします
たとえば、整数値のarr []の配列が与えられ、タスクは、他のすべての要素の合計を除算する配列要素の数を計算することです。
配列は、同じタイプの要素の固定サイズの順次コレクションを格納できる一種のデータ構造です。配列はデータのコレクションを格納するために使用されますが、配列を同じタイプの変数のコレクションと考える方が便利な場合がよくあります。
例
Input − int arr_1[] = {9, 6, 3} Output − count is 3
説明 −3で割り切れる要素9+ 6 =15の合計として、6で割り切れる要素9 + 3 =12と9で割り切れる6+3 =9の合計。したがって、カウントは3です。
Input − arr[] = {3, 10, 4, 6, 7} Output − count is 3
説明 −3で割り切れる要素10+ 4 + 6 + 7 =27の合計として、10で割り切れる要素3 + 4 + 6 + 7=20と3+10 + 4 + 7=24の合計6で割り切れる。したがって、カウントは3です。
以下のプログラムで使用されているアプローチは次のとおりです
-
配列を作成します。たとえば、arr []
-
配列内の要素ごとに整数値を返すlength()関数を使用して、配列の長さを計算します。
-
要素の数を格納する一時変数を取ります。
-
iを0に設定し、iが配列のサイズよりも小さい場合にループを開始します
-
ループ内で、一時変数を設定します。たとえば、tempを0に設定します
-
ループ内で、jが0になり、jが配列のサイズよりも小さい場合に別のループを開始します
-
i =jかどうかを確認して、続行します
-
それ以外の場合は、temp =temp + arr [j]
を設定します -
次に、temp%arr [i] =0かどうかを確認してから、countの値を1ずつインクリメントします
-
カウントを返す
-
結果を印刷します。
例
#include <iostream> using namespace std; int countelements( int arr_1[], int size){ // To store the count of required numbers int result = 0; for (int i = 0; i < size; i++){ // Initialize sum to 0 int sum = 0; for (int j = 0; j < size; j++){ if (i == j){ continue; } else{ sum += arr_1[j]; } } // If sum is divisible by the chosen element if (sum % arr_1[i] == 0){ result++; } } // Return the count return result; } // main function int main(){ int arr_1[] = { 1, 2, 3, 4, 5, 6 }; int size = sizeof(arr_1) / sizeof(arr_1[0]); cout <<"count is " <<countelements(arr_1, size); return 0; }
出力
上記のコードを実行すると、次の出力が得られます-
count is 2
-
C++で数値を除算する数値の桁数を検索します
番号が与えられていると仮定します。数を均等に分割する数の桁数を数える必要があります。数値が1012で、結果が3であるとします。1012を均等に分割する3桁の1、1、および2があります。 これを解決するために、モジュラス演算を使用して数値の各桁を見つけ、数値がその桁で割り切れるかどうかを確認します。割り切れる場合は、カウンターを増やします。数字が0の場合は、その数字を無視します。 例 #include<iostream> using namespace std; int countDivDigit(int num) { int c
-
C ++の配列のすべての要素にXOR演算を適用して、配列の合計を最小化する
説明 サイズの配列が与えられた場合、N。Xと配列の各要素を使用してXOR演算を実行するときに、配列要素の合計が最小になるように要素Xを見つけます。 If input array is: arr [] = {8, 5, 7, 6, 9} then minimum sum will be 30 Binary representation of array elments are: 8 : 1000 5 : 0101 7 : 0111 6 : 0101 9 : 1001 If X = 5 then after performing XOR sum will be 30: 8 ^ 5 = 13 5