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

पहले N प्राकृतिक को C++ में दिए गए अंतर और सह-अभाज्य योगों के साथ दो सेटों में विभाजित किया जा सकता है

इस ट्यूटोरियल में, हमें यह पता लगाना है कि 1 से n तक की प्राकृत संख्याओं को दो भागों में विभाजित किया गया है या नहीं। इसे निम्नलिखित शर्तों को पूरा करना होगा।

  • दो श्रृंखला योग के बीच पूर्ण अंतर मी होना चाहिए।

  • और दो राशियों का GCD 1 यानी को-प्राइम होना चाहिए।

प्रथम n प्राकृत संख्याओं का योग है (n*(n+1))/2हम योग एक और योग दो पा सकते हैं क्योंकि हमारे पास कुल योग और अंतर एम है। नीचे दिए गए समीकरण देखें।

sumOne + sumTwo = (n*(n+1))/2
sumOne - sumTwo = m

उदाहरण

जाँच कीजिए कि निरपेक्ष योग m के बराबर है या नहीं। और फिर GCD की जांच करें।

#include <bits/stdc++.h>
using namespace std;
bool canSplitIntoTwoHalves(int n, int m) {
   int total_sum = (n * (n + 1)) / 2;
   int sumOne = (total_sum + m) / 2;
   int sumTwo = total_sum - sumOne;
   if (total_sum < m) {
      return false;
   }
   if (sumOne + sumTwo == total_sum &&sumOne - sumTwo == m) {
      return (__gcd(sumOne, sumTwo) == 1);
   }
   return false;
}
int main() {
   int n = 10, m = 17;
   if (canSplitIntoTwoHalves(n, m)) {
      cout << "Can split";
   }
   else {
      cout << "Can't split";
   }
   return 0;
}

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।

Can split

निष्कर्ष

यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।


  1. C++ में दिए गए अंतर के साथ एक जोड़ी खोजें

    विचार करें कि हमारे पास एक सरणी A है, n विभिन्न तत्व हैं। हमें सरणी A से एक युग्म (x, y) ज्ञात करना है, ताकि x और y के बीच का अंतर दिए गए अंतर d के समान हो। मान लीजिए कि तत्वों की एक सूची A =[10, 15, 26, 30, 40, 70] की तरह है, और दिया गया अंतर 30 है, तो जोड़ी होगी (10, 40) और (30, 70) इस समस्या को

  1. जाँच करें कि क्या C++ में एक बड़ी संख्या को समान योग के दो या दो से अधिक खंडों में विभाजित किया जा सकता है

    यहां हम एक प्रोग्राम देखेंगे, जो यह जांच सकता है कि क्या किसी संख्या को बराबर योग के साथ एक से अधिक खंडों में विभाजित किया जा सकता है। मान लीजिए कि कोई संख्या 74325 के समान है, तो इसे तीन भागों (7), (4, 3), (2, 5) में विभाजित किया जा सकता है, सभी समान मान के हैं। इस समस्या को हल करने के लिए हमें इन

  1. C++ में दिए गए GCD और LCM के साथ कोई भी युग्म ज्ञात कीजिए

    इस खंड में हम देखेंगे कि दिए गए GCD और LCM मानों का उपयोग करके जोड़े की संख्या कैसे प्राप्त करें। मान लीजिए कि GCD और LCM मान 2 और 12 हैं। अब संख्याओं के संभावित जोड़े (2, 12), (4, 6), (6, 4) और (12, 2) हैं। तो हमारा प्रोग्राम जोड़ियों की गिनती का पता लगाएगा। वह 4 है। इस समस्या को हल करने की तकनीक