Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Tìm K chữ số cuối tích mảng C++


Cho mảng n phần tử A và số k. Tìm k chữ số cuối của tích các phần tử A. A = [15, 22, 13, 19, 17], tích 1385670, 3 chữ số cuối 670.

Giải quyết: nhân các số dưới modulo 10^k.

Ví dụ mã nguồn

#include<iostream> #include<cmath> using namespace std; int displayLastKNumbers(int array[], int n, int k) {    int mod = (int)pow(10, k);    int mul = array[0] % mod;    for (int i = 1; i < n; i++) {       array[i] = array[i] % mod;       mul = (array[i] * mul) % mod;    }    return mul; } int main() {    int a[] = {15, 22, 13, 19, 17};    int k = 3;    int n = sizeof(a) / sizeof(a[0]);    cout <<"Last K digits are: " << displayLastKNumbers(a, n, k); }

Kết quả

Last K digits are: 670