首頁  >  文章  >  後端開發  >  C/C++ 程式以找出陣列乘積除以 n 的餘數

C/C++ 程式以找出陣列乘積除以 n 的餘數

WBOY
WBOY轉載
2023-08-29 18:37:02589瀏覽

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刪除