Program C/C++ untuk mencari baki produk tatasusunan dibahagikan dengan n

WBOY
Lepaskan: 2023-08-29 18:37:02
ke hadapan
636 orang telah melayarinya

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

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
Salin selepas log masuk

Penjelasan

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.

Contoh

#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;
}
Salin selepas log masuk

Output

the remainder is 14
Salin selepas log masuk

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan