Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में LCM उत्पाद के बराबर होने वाले अधिकतम लंबाई के सबएरे


मान लीजिए हमारे पास एक सरणी A है। हमें सबएरे की अधिकतम लंबाई ढूंढनी है, जिसका LCM उस सबएरे के एलिमेंट्स के उत्पाद के समान है। यदि ऐसा सबएरे नहीं मिलता, तो -1 वापस करें। मान लीजिए सरणी {6, 10, 21} है, तो लंबाई 2 है, क्योंकि सबएरे {10, 21} है, जिसका LCM 210 है, और उत्पाद भी 210 है।

दृष्टिकोण सीधा है। हमें लंबाई 2 से अधिक या बराबर के हर संभावित सबएरे की जांच करनी होगी। यदि सबएरे शर्त को पूरा करता है, तो उत्तर को उत्तर और सबएरे की लंबाई के अधिकतम के रूप में अपडेट करें।

उदाहरण

#include <iostream> using namespace std; int gcd(int a, int b) {    if (b == 0)       return a;    return gcd(b, a % b); } int maxLengthLCMSubarray(int arr[], int n) {    int len = -1;    for (int i = 0; i < n - 1; i++) {       for (int j = i + 1; j < n; j++) {          long long lcm = 1LL * arr[i];          long long product = 1LL * arr[i];          for (int k = i + 1; k <= j; k++) {             lcm = (((arr[k] * lcm)) / (gcd(arr[k], lcm)));             product = product * arr[k];          }          if (lcm == product) {             len = max(len, j - i + 1);          }       }    }    return len; } int main() {    int arr[] = {8, 2, 6, 10, 13, 21, 7};    int n = sizeof(arr) / sizeof(arr[0]);    cout << "अधिकतम लंबाई: " << maxLengthLCMSubarray(arr, n); }

आउटपुट

अधिकतम लंबाई: 3

  1. - C++ में बदसूरत संख्याओं वाले सब-ऐरे की अधिकतम लंबाई

    समस्या कथन N तत्वों का एक ऐरे arr[] दिया गया है (0 ≤ arr[i] ≤ 1000)। कार्य केवल बदसूरत संख्याओं वाले सब-ऐरे की अधिकतम लंबाई ढूंढना है। बदसूरत संख्याएं वे संख्याएं हैं जिनके केवल अभाज्य गुणनखंड 2, 3 या 5 होते हैं। उदाहरण के लिए नीचे श्रृंखला से कुछ संख्याएं हैं: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15,..

  1. - C++ में N के चार गुणनखंड जिनका गुणनफल अधिकतम हो और योग N के बराबर हो

    मान लीजिए हमारे पास एक पूर्णांक N है। कार्य N के सभी गुणनखंड ढूंढना और N के चार गुणनखंडों का गुणनफल प्रदर्शित करना है, जैसे कि - उनके चार गुणनखंडों का योग N के बराबर हो चार गुणनखंडों का गुणनफल अधिकतम हो मान लीजिए संख्या 24 है, तो गुणनफल 1296 होगा। जैसा कि हम जानते हैं सभी गुणनखंड 1, 2, 3, 4, 6, 8,

  1. - C++ में पेयर्स की अधिकतम लंबाई चेन

    पेयर्स की एक चेन दी गई है। प्रत्येक पेयर में दो इंटीजर हैं और पहला इंटीजर हमेशा छोटा होता है, और दूसरा बड़ा, यही नियम चेन निर्माण के लिए भी लागू होता है। एक पेयर (x, y) को पेयर (p, q) के बाद तभी जोड़ा जा सकता है जब q < x हो।इस समस्या को हल करने के लिए, सबसे पहले हमें दिए गए पेयर्स को पहले एलिमेंट