एक सरणी, L, R, P दिए गए हैं। कार्य L और R के बीच के तत्वों का गुणनफल मॉड्यूलो P के साथ निकालना है।
उदाहरण:
इनपुट: A[] = {1, 2, 3, 4, 5, 6}, P = 29, L = 2, R = 6 आउटपुट: 24
इनपुट: A[] = {1, 2, 3, 4, 5, 6}, L = 2, R = 5, P = 113 आउटपुट: 7
दृष्टिकोण
- सरणी, L, R, P को इनपुट लें।
- L से R तक के तत्वों को पार करें।
- गुणनफल को एक अस्थायी चर में संग्रहीत करें और प्रत्येक चरण में मॉड्यूलो P लें।
- अंतिम परिणाम प्रिंट करें।
एल्गोरिदम
START
फंक्शन calculateProduct(A, L, R, P)
L = L - 1, R = R - 1 (क्योंकि सरणी 0-आधारित है)
ans = 1
i = L से R तक लूप:
ans = ans * A[i]
ans = ans % P
ans लौटाएं
मुख्य फंक्शन
सरणी, P, L, R आरंभ करें
calculateProduct(A, L, R, P) प्रिंट करें
STOP
C कोड उदाहरण
#include <stdio.h>
int calculateProduct(int A[], int L, int R, int P) {
int i;
L = L - 1;
R = R - 1;
int ans = 1;
for(i = L; i <= R; i++) {
ans = ans * A[i];
ans = ans % P;
}
return ans;
}
int main() {
int A[] = {1, 2, 3, 4, 5, 6};
int P = 29;
int L = 2, R = 6;
printf("%d\n", calculateProduct(A, L, R, P));
return 0;
}
आउटपुट
24