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

अंकगणितीय श्रृंखला में लापता संख्या खोजें C++ में

मान लीजिए हमारे पास एक ऐरे है जो क्रम में अंकगणितीय श्रृंखला के तत्वों को दर्शाता है। एक तत्व लापता है। हमें लापता तत्व खोजना है। तो यदि arr = [2, 4, 8, 10, 12, 14], आउटपुट 6 है, क्योंकि 6 लापता है।

बाइनरी सर्च का उपयोग करके, हम इस समस्या को हल कर सकते हैं। हम मध्य तत्व पर जाएंगे, फिर जांचेंगे कि मध्य और मध्य के अगले तत्व के बीच का अंतर diff के समान है या नहीं। यदि नहीं, तो लापता तत्व इंडेक्स mid और mid + 1 के बीच मौजूद है। यदि मध्य तत्व AP में n/2वां तत्व है, तो लापता तत्व दाएं आधे में है, अन्यथा बाएं आधे में।

उदाहरण

#include <iostream>
using namespace std;

class Progression {
public:
    int missingUtil(int arr[], int left, int right, int diff) {
        if (right <= left)
            return INT_MAX;
        int mid = left + (right - left) / 2;
        if (arr[mid + 1] - arr[mid] != diff)
            return (arr[mid] + diff);
        if (mid > 0 && arr[mid] - arr[mid - 1] != diff)
            return (arr[mid - 1] + diff);
        if (arr[mid] == arr[0] + mid * diff)
            return missingUtil(arr, mid + 1, right, diff);
        return missingUtil(arr, left, mid - 1, diff);
    }
    int missingElement(int arr[], int n) {
        int diff = (arr[n - 1] - arr[0]) / n;
        return missingUtil(arr, 0, n - 1, diff);
    }
};

int main() {
    Progression pg;
    int arr[] = {2, 4, 8, 10, 12, 14};
    int n = sizeof(arr) / sizeof(arr[0]);
    cout << "The missing element is: " << pg.missingElement(arr, n);
}

आउटपुट

The missing element is: 6

  1. - C++ प्रोग्राम: संख्या में उन अंकों की संख्या ज्ञात करना जो संख्या को विभाजित करते हैं

    मान लें कोई संख्या दी गई है। हमें संख्या के उन अंकों की संख्या गिननी है जो संख्या को समान रूप से विभाजित करते हैं। मान लें संख्या 1012 है, परिणाम 3 है। तीन अंक 1, 1, और 2 हैं जो 1012 को समान रूप से विभाजित करते हैं। इसे हल करने के लिए, हम मापांक ऑपरेशन का उपयोग करके संख्या के प्रत्येक अंक को ज्ञात

  1. - C++ में सरणी में एक संख्या की फ्रीक्वेंसी ज्ञात करना

    मान लीजिए हमारे पास एक सरणी है। इसमें n अलग-अलग तत्व हैं। हमें सरणी में एक तत्व की फ्रीक्वेंसी जांचनी है। मान लीजिए A = [5, 12, 26, 5, 3, 4, 15, 5, 8, 4], यदि हम 5 की फ्रीक्वेंसी ढूंढने की कोशिश करते हैं, तो यह 3 होगी। इसे हल करने के लिए, हम सरणी को बाएं से स्कैन करेंगे, यदि तत्व दी गई संख्या के सम

  1. - C++ में अंकगणितीय संख्या (Arithmetic Number)

    अंकगणितीय संख्या क्या है? एक संख्या जिसके सभी धनात्मक भाजकों का औसत एक पूर्णांक हो। अर्थात, भाजकों का योग भाजकों की संख्या से विभाज्य हो। उदाहरण: n = 6 भाजक: 1, 2, 3, 6 योग = 12, भाजकों की संख्या = 4 12/4 = 3 (पूर्णांक) → अंकगणितीय संख्या है एल्गोरिदम भाजकों का योग निकालें भाजकों की संख्या गिन