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

nで割った配列乗算のリマインダーを見つけるC/C ++プログラム?


ここでは、結果をnで除算した後、配列乗算の余りを計算する方法を説明します。配列とnの値は、ユーザーが指定します。配列が{12、35、69、74、165、54}のようなものであるとすると、乗算は(12 * 35 * 69 * 74 * 165 * 54)=19107673200になります。 47までに14になります。

ご覧のとおり、この問題は非常に単純です。要素を簡単に乗算し、モジュラス演算子を使用して結果を得ることができます。しかし、主な問題は、乗算を計算するときに、整数の範囲を超えたり、長い場合もあることです。そのため、無効な結果が返される場合があります。この問題を克服するために、このプロセスに従います。

アルゴリズム

multiplyRemainder(arr、size、n)

begin
   mul := 1
   for i in range 0 to size – 1, do
      mul := (mul * (arr[i] mod n)) mod n
   done
   return mul mod n
end

#include<iostream>
using namespace std;
int multiplyRemainder(int arr[], int size, int n){
   int mul = 1;
   for(int i = 0; i<size; i++){
      mul = (mul * (arr[i] % n)) % n;
   }
   return mul % n;
}
int main(){
   int arr[6] = {12, 35, 69, 74, 165, 54};
   int size = 6;
   int n = 47;
   cout << "Remainder: " << multiplyRemainder(arr, size, n);
}

出力

Remainder: 14

  1. 配列要素の乗算のための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]を掛け続

  2. nで割った配列乗算のリマインダーを見つけるためのPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 複数の数値と数値入力nが与えられた場合、除算可能なすべての数値にnを掛けた後、余りを出力する必要があります。 アプローチ まず、arr [i]%nのように余りを計算します。次に、この余りに現在の結果を掛けます。 乗算後、オーバーフローを避けるために同じ余りを取ります。これは、モジュラー演算の分配法則に準拠しています。 ( a * b) % c = ( ( a % c ) * ( b % c ) ) % c 例 def findremainder(arr, lens, n):   &n