ধরুন আমাদের কাছে A নামক n উপাদানের একটি অ্যারে আছে। আমাদের আরেকটি সংখ্যা k আছে। আমাদের কাজ হল অ্যারের উপাদানগুলির গুণফলের শেষ k সংখ্যাগুলি খুঁজে বের করা। ধরুন A =[15, 22, 13, 19, 17], তাহলে গুণফল হল 1385670, শেষ k =3 সংখ্যা হল 670৷
এই সমস্যাটি সমাধান করার জন্য, আমরা মডুলো 10 k এর অধীনে সংখ্যাগুলিকে গুণ করব .
উদাহরণ
#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);
} আউটপুট
Last K digits are: 670