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

C++での配列乗算の除数を数える


たとえば、任意のサイズの整数要素のarr []の配列が与えられます。タスクは、すべての配列要素を乗算して計算された数値の因数の数を計算することです。

配列は、同じタイプの要素の固定サイズの順次コレクションを格納できる一種のデータ構造です。配列はデータのコレクションを格納するために使用されますが、配列を同じタイプの変数のコレクションと考える方が便利な場合がよくあります。

Input − int arr[] = {2, 3}
Output − count is 4

説明 −配列の乗算は2 * 3は6で、6の因数は1、2、3、6です。したがって、合計で6の4つの因数があります。

Input − int arr[] = {2, 3, 5}
Output − count is 8

説明 −配列の乗算は2 * 3 * 5は30で、30の因数は1、2、3、5、6、10、15、30です。したがって、合計で30の因数は8つあります。

以下のプログラムで使用されているアプローチは次のとおりです

  • 配列を作成します。たとえば、arr []

  • 配列内の要素ごとに整数値を返すlength()関数を使用して、配列の長さを計算します。

  • 一時変数を宣言します。たとえば、一時変数を1に設定します

  • iを0に設定し、iが配列のサイズよりも小さい場合にループを開始します

  • tempをtempに設定します*=arr [i]

  • カウントを返す別の関数を呼び出します。

  • 要素の数を格納する一時変数を取ります。

  • iが1で、iがmulに等しい場合のループを開始します。

  • ループ内で、temp%i =0かどうかを確認してから、countの値を1ずつインクリメントします。

  • カウントを返す

  • 結果を印刷します。

#include <iostream>
using namespace std;
// Function to count number of factors
int divisors(int N){
   // Initialize result with 0
   int result = 0;
   // Increment result for every factor
   // of the given number N.
   for (int i = 1; i <= N; ++i){
      if (N % i == 0){
         result++;
      }
   }
   return result;
}
int countmultiples(int arr_1[], int size){
   // To multiply all elements of
   // the given array.
   int temp = 1;
   for (int i = 0; i < size; ++i){
      temp *= arr_1[i];
   }
   return divisors(temp);
}
// main function
int main(){
   int arr_1[] = { 5, 10, 15 };
   int size = sizeof(arr_1) / sizeof(arr_1[0]);
   cout <<"count is "<<countmultiples(arr_1, size);
   return 0;
}

出力

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

count is 16

  1. C++の平面内の平行四辺形の数

    平行四辺形を形成する点を含む平面が与えられます。タスクは、与えられた点を使用して形成できる平行四辺形の数を計算することです。平行四辺形では、四辺形の反対側は平行であるため、反対の角度は等しくなります。 入力 − int a[] = {0, 2, 5, 5, 2, 5, 2, 5, 2} Int b[] = {0, 0, 1, 4, 3, 8, 7, 11, 10} 出力 −平面内の平行四辺形の数− 3 説明 −(x、y)点が与えられ、これらの点を使用して、図に示すように3つの平行四辺形のカウントを形成できます。 入力 − a[] = {0, 3, 1, 4, 1, 5} b

  2. 配列要素の乗算のためのC++プログラム

    整数要素の配列で与えられ、タスクは配列の要素を乗算して表示することです。 例 Input-: arr[]={1,2,3,4,5,6,7} Output-: 1 x 2 x 3 x 4 x 5 x 6 x 7 = 5040 Input-: arr[]={3, 4,6, 2, 7, 8, 4} Output-: 3 x 4 x 6 x 2 x 7 x 8 x 4 = 32256 以下のプログラムで使用されるアプローチは次のとおりです − 一時変数を初期化して、最終結果を1で格納します ループを0からnまで開始します。nは配列のサイズです 最終結果を得るには、tempの値にarr[i]を掛け続