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

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


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

इनपुट: m = 3, n = 4, k = 5 आउटपुट: 205 इनपुट: m = 2, n = 2, k = 1 आउटपुट: 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); // n का 3 के साथ कॉम्बिनेशन    long long linem = comb(m, 3); // m का 3 के साथ कॉम्बिनेशन    long long liner = comb(r, 3); // r का 3 के साथ कॉम्बिनेशन    long long answer = comb(n + m + r, 3); // n, m, r सभी का 3 के साथ संभावित कॉम्बिनेशन    answer -= (linen + linem + liner);    cout << answer << "\n";    return 0; }

आउटपुट

205

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

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

निष्कर्ष

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

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

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

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

    इस लेख में, हम एक सेट पर रिफ्लेक्सिव रिलेशंस की संख्या ज्ञात करने के दृष्टिकोणों की व्याख्या करेंगे। इस समस्या में, हमें संख्या n दी गई है, और n प्राकृतिक संख्याओं के एक सेट पर, हमें रिफ्लेक्सिव रिलेशंस की संख्या निर्धारित करनी है।रिफ्लेक्सिव रिलेशन - एक सेट A में एक रिलेशन को रिफ्लेक्सिव कहा जाता ह

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

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