C / C ++程序,以查找除以n的数组乘法的提示

在这里,我们将看到在将结果除以n之后如何计算数组乘法的余数。数组和n的值由用户提供。假设数组像{12,35,69,74,165,54},那么乘法将是(12 * 35 * 69 * 74 * 165 * 54)=19107673200。现在,如果我们想在潜水之后得到余数到47点将是14。

如我们所见,这个问题非常简单。我们可以轻松地将元素相乘,然后使用模数运算符,即可得到结果。但是主要的问题是当我们计算乘法时,它可能会超出整数的范围,也可能会变长。因此,它可能会返回一些无效的结果。为了克服这个问题,我们将遵循此过程。

算法

multipleRemainder(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

以上是 C / C ++程序,以查找除以n的数组乘法的提示 的全部内容, 来源链接: utcz.com/z/326751.html

回到顶部