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

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

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

बाइनरी सर्च का उपयोग करके हम इस समस्या को हल कर सकते हैं। हम मध्य तत्व में जाएंगे, फिर जांच करेंगे कि मध्य और बीच के बीच का अंतर अंतर के समान है या नहीं। यदि नहीं, तो लापता तत्व मध्य और मध्य + 1 के बीच मौजूद है। यदि मध्य तत्व एपी में 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++ का उपयोग करके किसी सरणी में किसी संख्या की आवृत्ति ज्ञात करें।

    मान लीजिए कि हमारे पास एक सरणी है। एन विभिन्न तत्व हैं। हमें सरणी में एक तत्व की आवृत्ति की जांच करनी है। मान लीजिए A =[5, 12, 26, 5, 3, 4, 15, 5, 8, 4], अगर हम 5 की बारंबारता ज्ञात करने की कोशिश करते हैं, तो यह 3 होगा। इसे हल करने के लिए, हम सरणी को बाईं ओर से स्कैन करेंगे, यदि तत्व दिए गए नंबर के

  1. C++ में अंकगणित संख्या

    अंकगणितीय संख्या एक ऐसी संख्या है जिसमें सभी धनात्मक भाजक का औसत एक पूर्णांक होता है अर्थात संख्या n के लिए यदि भाजक की संख्या भाजक के योग को विभाजित कर सकती है तो n एक अंकगणितीय संख्या है। आइए अवधारणा को बेहतर ढंग से समझने के लिए एक उदाहरण लेते हैं, Input : n = 6 Output : YES Explanation : Divisor

  1. C++ में CHAR_BIT

    CHAR_BIT चार में बिट्स की संख्या है। इसे C++ भाषा में “limits.h” हेडर फाइल में घोषित किया गया है। यह 8-बिट प्रति बाइट का होता है। यहाँ C++ भाषा में CHAR_BIT का एक उदाहरण दिया गया है, उदाहरण #include <bits/stdc++.h> using namespace std; int main() {    int x = 28;    int a