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

C++ में पहले N प्राकृतिक संख्याओं से दो सेट बनाना जिनके योग का अंतर D हो


इस समस्या में, हमें दो पूर्णांक N और D दिए गए हैं। हमारा कार्य यह जांचना है कि क्या पहले N प्राकृतिक संख्याओं के समुच्चय से दो ऐसे सेट बनाए जा सकते हैं जिनके योग का अंतर D हो।

आइए एक उदाहरण से समझते हैं:

इनपुट - N=5, D=3

आउटपुट - हाँ

व्याख्या -

1, 2, 3, 4, 5 में से हम दो सेट बना सकते हैं: set1 = {1, 2, 3} और set2 = {4, 5}, इससे अंतर 3 मिलेगा। {4+5} - {1+2+3} = 9 - 6 = 3

इस समस्या को हल करने के लिए हम कुछ गणितीय गणनाओं का उपयोग करेंगे।

हम जानते हैं कि सभी संख्याओं का योग दोनों सेटों के तत्वों के योग के बराबर होता है:

N प्राकृतिक संख्याओं के योग का सूत्र:

sum(s1) + sum(s2) = (n*(n+1))/2. दिया गया है: sum(s1) - sum(s2) = D

दोनों को जोड़ने पर हमें मिलता है:

2*sum(s1) = ((n*(n+1))/2) + D

यदि यह शर्त पूरी होती है, तभी समाधान संभव है।

उदाहरण

हमारे समाधान के कार्यान्वयन को दर्शाने वाला प्रोग्राम:

#include <iostream> using namespace std; bool isSetPossible(int N, int D) {    int set = (N * (N + 1)) / 2 + D;    return (set % 2 == 0); } int main() {    int N = 10;    int D = 7;    cout<<"पहले "<<N<<" प्राकृतिक संख्याओं से अंतर "<<D<<" के साथ दो सेट बनाना ";    isSetPossible(N, D)?cout<<"संभव है":cout<<"संभव नहीं है";    return 0; }

आउटपुट

पहले 10 प्राकृतिक संख्याओं से अंतर 7 के साथ दो सेट बनाना संभव है

  1. - C++ प्रोग्राम: पहले n प्राकृतिक संख्याओं के घन का योग

    धनात्मक पूर्णांक 1, 2, 3, 4... को प्राकृतिक संख्या के रूप में जाना जाता है। यह प्रोग्राम उपयोगकर्ता से एक धनात्मक पूर्णांक लेता है (मान लीजिए उपयोगकर्ता ने n दर्ज किया) फिर, यह प्रोग्राम 1³+2³+3³+....+n³ का मान प्रदर्शित करता है। Input: n = 3 Output: 36 व्याख्या 1³+2³+3³ = 1 +8+27 = 36 यह प्रोग्राम

  1. C++ में पहले n प्राकृतिक संख्याओं के वर्गों का योग C++ में पहले n प्राकृतिक संख्याओं के वर्गों का योग

    इस समस्या में हम देखेंगे कि पहले n प्राकृतिक संख्याओं के वर्गों का योग कैसे प्राप्त किया जा सकता है। यहां हम एक फॉर लूप का उपयोग कर रहे हैं, जो 1 से n तक चलता है। प्रत्येक चरण में हम पद का वर्ग निकाल रहे हैं और फिर इसे योग में जोड़ रहे हैं। यह प्रोग्राम पूरा होने में O(n) समय लेता है। लेकिन यदि हम

  1. - पायथन में पहले n प्राकृतिक संख्याओं के क्रमचय से मैजिक सेट की संख्या खोजने का प्रोग्राम

    मान लीजिए हमारे पास पहले n प्राकृतिक संख्याओं वाली एक सरणी A है, और सरणी A का एक क्रमचय P{p1, p2, ... pn} है। हमें जांचना है कि कितने मैजिक सेट हैं। एक क्रमचय को मैजिक सेट कहा जाता है, यदि यह इन कुछ नियमों को पूरा करता है:यदि हमारे पास k है, तो स्थितियों a[1], a[2], ... a[k] में तत्व अपने आसन्न तत्व