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

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

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

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

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

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

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

इनपुट -परिधि P=12

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

स्पष्टीकरण -

a, b और c के एकमात्र मान जो a+b+c=P और a 2 को संतुष्ट करते हैं + ख 2 =c 2 (किन्हीं दो> तीसरे का योग भी) 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 2 को संतुष्ट कर सके + ख 2 =c 2

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

  • हम एक पूर्णांक चर परिधि लेते हैं जो दिए गए परिधि के मान को संग्रहीत करता है।

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

  • परिवर्तनीय गणना प्रारंभ में संभव समकोण त्रिभुजों की संख्या को संग्रहीत करती है, 0.

  • a=1 से p/2 तक के लिए लूप प्रारंभ का उपयोग करना

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

  • सी =पी-ए-बी की गणना करें। इसके लिए 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<p/2;a++){
      for(int b=1;b<p/3;b++){
         c=p-a-b;
         if( a+b>c && b+c>a && a+c>b) //condition for triangle{
            if( (a*a+b*b)==c*c ) //pythagoras rule for right triangles
               { ++count; }
         }
      }
   }
   return count;
}
int main(){
   int perimeter= 12;
   cout << "Total number of right triangles that can be formed: "<<rightTriangles(perimeter);
   return 0;
}

आउटपुट

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

Total number of right triangles that can be formed: 1

  1. C++ में कुल n अंक के साथ m कोलिनियर वाले त्रिभुजों की संख्या

    हमें दो चर n और m दिए गए हैं जो एक 2D तल पर बिंदुओं की संख्या को निरूपित करते हैं। n बिंदुओं में से, m बिंदु संरेख हैं। लक्ष्य इन n बिंदुओं का उपयोग करके बनाए जा सकने वाले त्रिभुजों की संख्या ज्ञात करना है। समरेख बिंदु - एक ही रेखा पर स्थित बिंदु संरेख कहलाते हैं। बिंदु A और B संरेख हैं। दिया गय

  1. C++ में दी गई संख्या के बराबर GCD के साथ प्राकृत संख्याओं के जोड़े गिनें

    हमने स्टार्ट, एंड और नंबर के रूप में तीन इनपुट वेरिएबल दिए। लक्ष्य प्रारंभ और अंत के बीच संख्याओं के ऐसे जोड़े खोजना है जिनका GCD मान संख्या के बराबर है। उदाहरण के लिए GCD(A,B)=number और A, B दोनों रेंज [स्टार्ट, एंड] में हैं। आइए उदाहरणों से समझते हैं। इनपुट - प्रारंभ=5 अंत=20 संख्या=8 आउटपुट −

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

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