배열 곱셈을 통해 주어진 배열의 모든 요소의 곱을 구합니다. 그러면 문제에 따라 곱을 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
위 내용은 n으로 나눈 배열 곱의 나머지를 찾는 C/C++ 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!