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

C++で指定された数Kで割り切れる配列内のすべての要素の積


n個の整数と別の整数kを持つ配列arr[n]が与えられた場合、タスクは、kで割り切れるarr[]のすべての要素の積を見つけることです。

この問題を解決するには、配列のすべての要素を反復処理し、それが数値kで完全に割り切れるかどうかを調べてから、すべての要素を積んで変数に格納する必要があります。配列arr[]={1、2、3、4、5、6}があるように、k =2であると仮定すると、2で割り切れる配列内の数は2、4、6であり、それらの積は48に等しい。

それでは、入力に従ってどのように回答が必要かという例を見てみましょう

入力

arr[] = {10, 11, 55, 2, 6, 7}
K = 11

出力

605

説明 − 11で割り切れる数は11と55であり、それらの積のみが605です

入力

arr[] = {9, 8, 7, 6, 3}
K = 3

出力

162

問題を解決するために以下で使用するアプローチは次のとおりです

  • 配列の最後まで配列全体を繰り返します。

  • Kで割り切れるすべての整数を探します。

  • Kで割り切れるすべての要素を生成します。

  • 製品を返品してください。

  • 結果を印刷します。

アルゴリズム

Start
Step 1→ declare function to find all the numbers divisible by number K
   int product(int arr[], int size, int k)
      declare int prod = 1
      Loop For int i = 0 and i < size and i++
      IF (arr[i] % k == 0)
         Set prod *= arr[i]
      End
      End
      return prod
Step 2→ In main()
   Declare int arr[] = {2, 3, 4, 5, 6 }
   Declare int size = sizeof(arr) / sizeof(arr[0])
   Set int k = 2
   Call product(arr, size, k)
Stop

#include <iostream>
using namespace std;
//function to find elements in an array divisible by k
int product(int arr[], int size, int k){
   int prod = 1;
   for (int i = 0; i < size; i++){
      if (arr[i] % k == 0){
         prod *= arr[i];
      }
   }
   return prod;
}
int main(){
   int arr[] = {2, 3, 4, 5, 6 };
   int size = sizeof(arr) / sizeof(arr[0]);
   int k = 2;
   cout<<"product of elements are : "<<product(arr, size, k);
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

product of elements are : 48

  1. C++の配列内のすべての素数の積

    いくつかの要素を持つ整数配列arr[]が与えられた場合、タスクはその数のすべての素数の積を見つけることです。 素数は、1で割った数、またはその数自体です。または、素数は、1とその数自体を除いて他の数で割り切れない数です。 1、2、3、5、7、11など 与えられた配列の解を見つける必要があります- 入力 −arr [] ={11、20、31、4、5、6、70} 出力 − 1705 説明 −配列の素数は− 11、31、5であり、それらの積は1705 入力 − arr [] ={1、2、3、4、5、6、7} 出力 − 210 説明 −配列の素数は− 1、2、3、5、7

  2. 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