मान लीजिए हमारे पास एक सरणी arr और एक अन्य मान k है। हमें सरणी के GCD को k का गुणक बनाने के लिए न्यूनतम ऑपरेशंस की संख्या ढूंढनी है। यहां ऑपरेशन मान को बढ़ाना या घटाना है। मान लीजिए सरणी {4, 5, 6} है, और k 5 है। हम 4 को 1 से बढ़ा सकते हैं, और 6 को 1 से घटा सकते हैं, तो यह 5 बन जाता है। यहां ऑपरेशंस की संख्या 2 है।
परिणाम प्राप्त करने के लिए इन चरणों का पालन करें:
चरण −
- सरणी के सभी एलिमेंट्स e के लिए, चरण 2 और 3 का पालन करें
- यदि e 1 नहीं है, और e > k, तो परिणाम को (e mod k) और (k – e mod k) के न्यूनतम के रूप में बढ़ाएं।
- अन्यथा, परिणाम result + k – e होगा
- परिणाम वापस करें
उदाहरण
#include <iostream> using namespace std; int countMinOp(int arr[], int n, int k) { int result = 0; for (int i = 0; i < n; ++i) { if (arr[i] != 1 && arr[i] > k) { result = result + min(arr[i] % k, k - arr[i] % k); } else { result = result + k - arr[i]; } } return result; } int main() { int arr[] = { 4, 5, 6 }; int n = sizeof(arr) / sizeof(arr[0]); int k = 5; cout << "आवश्यक न्यूनतम ऑपरेशन: " << countMinOp(arr, n, k); } आउटपुट
आवश्यक न्यूनतम ऑपरेशन: 2