Pendaraban Tatasusunan, kita akan mencari hasil darab semua elemen tatasusunan yang diberikan. Kemudian mengikut masalah, kami akan membahagikan produk dengan nombor n. Mari kita ambil contoh −
Input: arr[] = { 12, 35, 69, 74, 165, 54}; N = 47 Output: 14
Tatasusunan adalah seperti berikut {12, 35, 69, 74, 165, 54}, jadi hasil darabnya ialah (12 * 35 * 69 * 74 * 165 * 54) = 19207 . Sekarang jika kita ingin mendapatkan baki selepas membahagikan dengan 47, hasilnya ialah 14.
Mula-mula darab semua nombor, kemudian ambil % daripada n dan cari bakinya. Tetapi dalam kaedah ini, jika nombor itu mencapai nilai maksimum 2^64, ia akan memberikan jawapan yang salah.
#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
Atas ialah kandungan terperinci Program C/C++ untuk mencari baki produk tatasusunan dibahagikan dengan n. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!