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

C++ में दिए गए परिमाप वाले समकोण त्रिभुजों की संख्या गिनना


हमें एक त्रिभुज का परिमाप P दिया गया है। परिमाप त्रिभुज की सभी भुजाओं का योग है। लक्ष्य उन समकोण त्रिभुजों की संख्या ढूंढना है जिन्हें बनाया जा सकता है जिनका वही परिमाप है।

यदि त्रिभुज की भुजाएं a, b और c हैं। तो a + b + c = P और a² + b² = c² (किसी भी a, b, और c के संयोजन के लिए पाइथागोरस प्रमेय)

हम इसे a को 1 से p/2 तक और b को a+1 से p/3 तक लेकर जांचेंगे। फिर c = p-a-b (a+b+c=p)

सभी समकोण त्रिभुजों के लिए, पाइथागोरस प्रमेय लागू करें। a, b और c के मान को त्रिभुज बनाने की शर्त भी पूरी करनी चाहिए जहां किन्हीं दो भुजाओं का योग हमेशा तीसरे से बड़ा हो।

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

इनपुट - परिमाप P=12

आउटपुट - समकोण त्रिभुजों की कुल संख्या: 1

व्याख्या -

a, b और c के केवल वे मान जो a+b+c=P और a² + b² = c² को संतुष्ट करते हैं (साथ ही किन्हीं दो का योग > तीसरा) 4, 3, और 5 हैं।

4+3+5=12, 3*3+4*4=5*5 (9+16=25) साथ ही 3+4>5, 4+5>3, 3+5>4

इनपुट - परिमाप P=10

आउटपुट - समकोण त्रिभुजों की कुल संख्या: 0

व्याख्या -

a, b और c का कोई मान नहीं जो a+b+c=P और a² + b² = c² को संतुष्ट कर सके।

नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण

  • हम एक पूर्णांक वेरिएबल perimeter लेते हैं जो दिए गए परिमाप का मान स्टोर करता है।

  • फंक्शन rightTriangles(int p) परिमाप को इनपुट के रूप में लेता है और बनाए जा सकने वाले समकोण त्रिभुजों की कुल संख्या लौटाता है।

  • वेरिएबल count समकोण त्रिभुजों की संख्या स्टोर करता है, प्रारंभ में 0।

  • फॉर लूप का उपयोग करके a=1 से p/2 तक शुरू करते हैं।

  • फिर नेस्टेड फॉर लूप का उपयोग करके b=a+1 से p/3 तक शुरू करते हैं (समकोण त्रिभुजों में दो भुजाएं कभी बराबर नहीं होतीं)।

  • c=p-a-b की गणना करते हैं। इस a,b,c के लिए जांचते हैं कि (a+b>c && b+c>a && a+c>b) है या नहीं।

  • साथ ही पाइथागोरस प्रमेय की जांच करते हैं जहां a*a+b*b==c*c। यदि सही है तो काउंट बढ़ाते हैं।

  • अंत में काउंट लौटाते हैं जिसमें दिए गए परिमाप वाले समकोण त्रिभुजों की संख्या होती है।

  • काउंट को वांछित परिणाम के रूप में लौटाते हैं।

नोट - हम केवल a,b और c के एक संयोजन के लिए पाइथागोरस प्रमेय की जांच करेंगे अद्वितीय परिणामों के लिए।

उदाहरण

#include <bits/stdc++.h> using namespace std; int rightTriangles(int p){ int count = 0; int c=0; for( int a=1; a

c && b+c>a && a+c>b) //त्रिभुज के लिए शर्त{ if( (a*a+b*b)==c*c ) //समकोण त्रिभुजों के लिए पाइथागोरस नियम { ++count; } } } } return count; } int main(){ int perimeter= 12; cout << "बनाए जा सकने वाले समकोण त्रिभुजों की कुल संख्या: "<<rightTriangles(perimeter); return 0; }

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा -

बनाए जा सकने वाले समकोण त्रिभुजों की कुल संख्या: 1

  1. C++ में कुल n बिंदुओं और m संरेखीय बिंदुओं वाले त्रिभुजों की गिनती C++ में कुल n बिंदुओं और m संरेखीय बिंदुओं वाले त्रिभुजों की गिनती

    हमें दो चर n और m दिए गए हैं जो 2D तल पर बिंदुओं की संख्या दर्शाते हैं। n बिंदुओं में से, m बिंदु संरेखीय (collinear) हैं। लक्ष्य इन n बिंदुओं का उपयोग करके बनने वाले त्रिभुजों की संख्या ढूंढना है। संरेखीय बिंदु (Collinear points) - वे बिंदु जो एक ही रेखा पर होते हैं उन्हें संरेखीय कहा जाता है। बि

  1. - दिए गए GCD वाले प्राकृतिक संख्या जोड़ों की गणना (रेंज में) - C++

    समस्या विवरण हमें तीन इनपुट start, end, number दिए गए हैं। लक्ष्य [start, end] रेंज में उन जोड़ों (A,B) की गणना करना है जिनका GCD number के बराबर हो। उदाहरण इनपुट: start=5, end=20, number=8 आउटपुट: 3 व्याख्या: (8,8), (8,16), (16,8) इनपुट: start=5, end=20, number=7 आउटपुट: 2 व्याख्या: (21,28), (28,

  1. C++ में दिए गए आकार के आयत के अंदर संभावित समचतुर्भुजों की संख्या गिनना C++ में दिए गए आकार के आयत के अंदर संभावित समचतुर्भुजों की संख्या गिनना

    हमें ऊंचाई × चौड़ाई आयामों वाला एक आयत दिया गया है। आयत को 2D निर्देशांक प्रणाली पर दर्शाया गया है जिसका निचला-बायाँ कोना बिंदु (0,0) पर है। लक्ष्य इस आयत के अंदर संभावित समचतुर्भुजों की संख्या गिनना है जो निम्न शर्तों को पूरा करते हैं: समचतुर्भुज का क्षेत्रफल 0 से अधिक हो। समचतुर्भुज के व