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

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


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

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

उदाहरण (C++)

#include <iostream> 
using namespace std; 

#define INT_MAX 999999 

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) << endl; 
}

इनपुट

[2,4,8,10,12,14]

आउटपुट

The missing element is: 6

  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 (पूर्णांक) → अंकगणितीय संख्या है एल्गोरिदम भाजकों का योग निकालें भाजकों की संख्या गिन

  1. - C++ में CHAR_BIT

    CHAR_BIT क्या है? CHAR_BIT एक बाइट में बिट्स की संख्या दर्शाता है। <climits> या <limits.h> हेडर में परिभाषित। आमतौर पर 8 बिट्स प्रति बाइट होता है। C++ प्रोग्राम उदाहरण #include <bits/stdc++.h> using namespace std; int main() { int x = 28; int total_bits = CHAR_BIT * size