首页  >  文章  >  后端开发  >  C/C++ 程序以找到数组乘积除以 n 的余数

C/C++ 程序以找到数组乘积除以 n 的余数

WBOY
WBOY转载
2023-08-29 18:37:02639浏览

C/C++ 程序以找到数组乘积除以 n 的余数

数组乘法,我们将找到给定数组的所有元素的乘积。然后根据问题,我们将用数字n除以乘积。让我们举个例子−

Input: arr[] = { 12, 35, 69, 74, 165, 54};
      N = 47
Output: 14

解释

数组如下 {12, 35, 69, 74, 165, 54},因此乘积为 (12 * 35 * 69 * 74 * 165 * 54) = 19107673200。现在如果我们想要获得除以47后的余数,结果为14。

首先将所有数字相乘,然后取n的%再找到余数。但是在这种方法中,如果数字达到2^64的最大值,则会给出错误的答案。

示例

#include <stdio.h>
int main() {
   int arr[] = { 12, 35, 69, 74, 165, 54};
   int len = 6;
   int n = 47 ;
   int mul = 1;
   for (int i = 0; i < len; i++)
      mul = (mul * (arr[i] % n)) % n;
   printf("the remainder is %d", (mul%n));
   return 0;
}

输出

the remainder is 14

以上是C/C++ 程序以找到数组乘积除以 n 的余数的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:tutorialspoint.com。如有侵权,请联系admin@php.cn删除