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

C++ में लंबाई और चौड़ाई के बीच न्यूनतम संभव अंतर के साथ आयत

इनपुट के रूप में आयत के एक क्षेत्र को देखते हुए। लक्ष्य एक आयत की भुजाओं को इस प्रकार खोजना है कि लंबाई और चौड़ाई के बीच का अंतर न्यूनतम हो।

आयत का क्षेत्रफल =लंबाई * चौड़ाई।

उदाहरण

इनपुट - क्षेत्रफल =100

आउटपुट −आयताकार की भुजा न्यूनतम अंतर के साथ:

लंबाई =10, चौड़ाई =10

स्पष्टीकरण − क्षेत्रफल वाली भुजाएं =100.

2 - 50, 4 - 25, 5 - 20, 10 - 10। न्यूनतम अंतर वाली भुजाएँ 10-10 हैं जिनमें अंतर =0 है। जैसा कि हम जानते हैं कि वर्ग सभी पक्षों पर समान लंबाई वाला एक आयत है।

इनपुट - क्षेत्रफल =254

आउटपुट - आयत की भुजा न्यूनतम अंतर के साथ:

लंबाई =127, चौड़ाई =2

स्पष्टीकरण − 254 क्षेत्रफल वाला आयत बनाने के लिए न्यूनतम अंतर वाली केवल संभावित भुजाएं 127 और 2 हैं।

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

इसमें हम क्षेत्र का वर्गमूल मान प्राप्त करेंगे और न्यूनतम अंतर और क्षेत्र =इनपुट क्षेत्र वाले मान खोजने के लिए वहां से 1 तक जाएंगे।

  • पूर्णांक चर क्षेत्र को इनपुट के रूप में लें।

  • फंक्शन रेक्टेंगलसाइड्स (इंट एरिया 1) एरिया 1 लेता है और लंबाई और चौड़ाई के बीच न्यूनतम संभव अंतर के साथ रेक्टेंगल के किनारों की लंबाई को प्रिंट करता है।

  • पूर्णांक लंबाई, चौड़ाई, tmp1 लें।

  • tmp1=ceil(sqrt(area1)) सेट करें

  • लूप के लिए उपयोग करके ट्रैवर्स (int i =tmp1; i> 0; i--)।

  • अगर (क्षेत्रफल 1% i ==0) तो लंबाई =क्षेत्र/i और चौड़ाई =i सेट करें।

  • ब्रेक स्टेटमेंट का उपयोग करके पुनरावृत्ति रोकें।

  • पक्षों की लंबाई और चौड़ाई प्रिंट करें।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
void rectangleSides(int area1){
   int length, breadth;
   int tmp1 = ceil(sqrt(area1));
   for (int i = tmp1; i > 0; i--) {
      if (area1 % i == 0) {

         length = ceil(area1 / i);
         breadth = i;
         break;
      }
   }
   cout<<"Sides of Rectangle with minimum difference :"<<endl;
   cout << "Length = " << length << ", Breadth = "   << breadth << endl;
}
int main(){
   int Area = 140;
   rectangleSides(Area);
   return 0;
}

आउटपुट

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

Sides of Rectangle with minimum difference :
Length = 14, Breadth = 10

  1. C++ में cin और cout स्ट्रीम में क्या अंतर है?

    cin इनपुट स्ट्रीम का एक ऑब्जेक्ट है और इनपुट स्ट्रीम जैसे फाइल, कंसोल, आदि से इनपुट लेने के लिए उपयोग किया जाता है। cout आउटपुट स्ट्रीम का एक ऑब्जेक्ट है जिसका उपयोग आउटपुट दिखाने के लिए किया जाता है। मूल रूप से, cin एक इनपुट स्टेटमेंट है जबकि cout एक आउटपुट स्टेटमेंट है। ) का उपयोग करता है जबकि co

  1. C++ में ++i और i++ में क्या अंतर है?

    ++ के प्रत्यय और उपसर्ग संस्करणों के बीच एक बड़ा अंतर है। उपसर्ग संस्करण (यानी, ++i) में, i का मान बढ़ा हुआ है, और व्यंजक का मान i का नया मान है। तो मूल रूप से यह पहले इंक्रीमेंट करता है और फिर एक्सप्रेशन को एक मान प्रदान करता है। पोस्टफ़िक्स संस्करण (यानी, i++) में, i का मान बढ़ा हुआ है, लेकिन व्य

  1. C++ में डॉट (.) ऑपरेटर और -> में क्या अंतर है?

    डॉट और एरो ऑपरेटर दोनों का उपयोग C++ में किसी वर्ग के सदस्यों तक पहुंचने के लिए किया जाता है। वे बस विभिन्न परिदृश्यों में उपयोग किए जाते हैं। सी ++ में, वर्ग, संरचना, या संघ के रूप में घोषित प्रकारों को वर्ग प्रकार माना जाता है। तो निम्नलिखित उन तीनों को संदर्भित करता है। a.b का उपयोग केवल तभी किय