मान लीजिए हमारे पास n तत्वों की एक सरणी है जिसे A कहा जाता है। हमारे पास एक और संख्या k है। हमारा कार्य सरणी A में तत्वों के गुणनफल के अंतिम 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