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

C++ का प्रयोग करते हुए तीन रेखाओं पर बिंदुओं के समूह से बने त्रिभुजों की संख्या ज्ञात कीजिए

हमें अब 3 पंक्तियों में मौजूद कई बिंदु दिए गए हैं; हमें यह पता लगाना है कि ये बिंदु कितने त्रिभुज बना सकते हैं, उदाहरण के लिए

Input: m = 3, n = 4, k = 5
Output: 205

Input: m = 2, n = 2, k = 1
Output: 10

हम इस प्रश्न के लिए कुछ संयोजन लागू करेंगे और इस समस्या को हल करने के लिए कुछ सूत्र तैयार करेंगे।

समाधान खोजने के लिए दृष्टिकोण

इस दृष्टिकोण में, हम वर्तमान परिस्थितियों में कॉम्बिनेटरिक्स को लागू करके एक सूत्र तैयार करेंगे, और यह सूत्र हमें हमारे परिणाम देगा।

उपरोक्त दृष्टिकोण के लिए C++ कोड

यहाँ C++ सिंटैक्स दिया गया है जिसे हम दी गई समस्या को हल करने के लिए इनपुट के रूप में उपयोग कर सकते हैं -

उदाहरण

#include <bits/stdc++.h>

#define MOD 1000000007

using namespace std;

long long fact(long long n) {
   if(n <= 1)
   return 1;
   return ((n % MOD) * (fact(n-1) % MOD)) % MOD;
}
long long comb(int n, int r) {
   return (((fact(n)) % MOD) / ((fact(r) % MOD) * (fact(n-r) % MOD)) % MOD);
}

int main() {
   int n = 3;
   int m = 4;
   int r = 5;
   long long linen = comb(n, 3); // the combination of n with 3.
   long long linem = comb(m, 3); // the combination of m with 3.
   long long liner = comb(r, 3); //the combination of r with 3.
   long long answer = comb(n + m + r, 3); // all possible comb of n, m , r with 3.
   answer -= (linen + linem + liner);
   cout << answer << "\n";
   return 0;
}

आउटपुट

205

उपरोक्त कोड की व्याख्या

इस दृष्टिकोण में, हम तीन के साथ n+m+r के सभी संभावित संयोजन पाते हैं, यानी, कंघी(n+m+r, 3)। अब, जैसा कि आप जानते हैं, त्रिभुज होने के लिए 3 बिंदुओं की शर्तें यह हैं कि वे संरेख नहीं होने चाहिए, इसलिए हम सभी संभावित संरेख बिंदु पाते हैं जो तीन के साथ n, m, r के संयोजन का योग है, और कब हम इस योग को n+m+r की विविधता के साथ घटाते हैं, तीन के साथ हमें उत्तर मिलता है, और हम इसे प्रिंट करते हैं।

निष्कर्ष

इस लेख में चर्चा की गई है कि कुछ संयोजनों को लागू करके तीन रेखाओं पर बिंदुओं के समूह से कितने त्रिभुज बनाए जा सकते हैं। हमने इस समस्या के लिए C++ प्रोग्राम और संपूर्ण दृष्टिकोण (Normal) भी सीखा जिसके द्वारा हमने इस समस्या को हल किया। हम उसी प्रोग्राम को अन्य भाषाओं जैसे सी, जावा, पायथन और अन्य भाषाओं में लिख सकते हैं। हमें उम्मीद है कि आपको यह लेख मददगार लगा होगा।


  1. C++ . का उपयोग करके स्टॉपिंग स्टेशनों की संख्या ज्ञात कीजिए

    बिंदु X और Y के बीच मध्यवर्ती ट्रेन स्टेशनों की संख्या n है। गिनें कि अलग-अलग तरीकों से ट्रेनों को s स्टेशनों पर रुकने के लिए व्यवस्थित किया जा सकता है जैसे कि कोई भी दो स्टेशन एक दूसरे के बगल में नहीं हैं। तो इस लेख में, हम स्टॉपिंग स्टेशनों की संख्या का पता लगाने के लिए हर संभव तरीके की व्याख्या क

  1. C++ का उपयोग करके सेट पर रिफ्लेक्सिव रिलेशंस की संख्या ज्ञात करें

    इस लेख में, हम एक सेट पर रिफ्लेक्सिव संबंधों की संख्या को खोजने के तरीकों की व्याख्या करेंगे। इस समस्या में, हमें संख्या n दी गई है, और n प्राकृत संख्याओं के समुच्चय पर, हमें प्रतिवर्ती संबंधों की संख्या निर्धारित करनी होगी। चिंतनशील संबंध − समुच्चय A में एक संबंध प्रतिवर्ती कहलाता है यदि (a, a) R

  1. C++ का प्रयोग करते हुए दिए गए बिंदुओं से संभव चतुर्भुजों की संख्या ज्ञात कीजिए

    एक चतुर्भुज यूक्लिडियन समतल ज्यामिति में चार शीर्षों और चार किनारों वाला एक बहुभुज बनाता है। नाम 4-गॉन आदि। चतुर्भुज के अन्य नामों में शामिल हैं और कभी-कभी उन्हें एक वर्ग, प्रदर्शन शैली आदि के रूप में भी जाना जाता है। इस लेख में, हम दिए गए बिंदुओं से संभव चतुर्भुजों की संख्या का पता लगाने के तरीकों