Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

n으로 나눈 배열 곱셈의 알림을 찾는 C/C++ 프로그램?

<시간/>

배열 곱셈 우리는 주어진 배열의 모든 요소의 곱을 찾을 것입니다. 그런 다음 문제에 따라 곱을 숫자 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