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

C++ में आयत का निर्माण करें


मान लीजिए कि हमारे पास एक विशिष्ट आयताकार वेब पेज क्षेत्र है, हमारा काम एक आयताकार वेब पेज डिजाइन करना है, जिसकी लंबाई L और चौड़ाई W जो निम्नलिखित आवश्यकताओं को पूरा करती है -

  • वेब पेज का क्षेत्रफल दिए गए लक्ष्य क्षेत्र के बराबर होना चाहिए।

  • चौड़ाई W लंबाई L से बड़ी नहीं होनी चाहिए, और L>=W.

  • L और W के बीच का अंतर जितना संभव हो उतना छोटा होना चाहिए।

इसलिए, यदि इनपुट 4 की तरह है, तो आउटपुट [2,2] होगा, क्योंकि लक्ष्य क्षेत्र 4 है, और इसे बनाने के सभी संभावित तरीके हैं [1,4], [2,2], [4 ,1]। यहाँ आवश्यकता के अनुसार, यह 2 है, [1,4] अवैध है; आवश्यकता 3 के अनुसार, [4,1] [2,2] की तुलना में उचित नहीं है। तो लंबाई L 2 है, और चौड़ाई W 2 है।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • इनिशियलाइज़ करने के लिए i :=क्षेत्रफल का वर्गमूल, जब i> 0, अपडेट करें (i से 1 घटाएं), करें −

    • यदि क्षेत्र mod i 0 के समान है, तो -

      • एक सरणी v परिभाषित करें, {area/i, i}

        insert डालें
      • वापसी वी

  • वापसी {-1, -1}

उदाहरण

आइए एक बेहतर समझ प्राप्त करने के लिए निम्नलिखित कार्यान्वयन देखें -

#include <bits/stdc++.h>
using namespace std;
void print_vector(vector<auto> v){
   cout << "[";
   for(int i = 0; i<v.size(); i++){
      cout << v[i] << ", ";
   }
   cout << "]"<<endl;
}
class Solution {
public:
   vector<int> constructRectangle(int area) {
      for (int i = sqrt(area); i > 0; i--) {
         if (area % i == 0) {
            vector<int> v{ area / i, i };
            return v;
         }
      }
      return { -1, -1 };
   }
};
main(){
   Solution ob;
   print_vector(ob.constructRectangle(4));
}

इनपुट

4

आउटपुट

[2, 2, ]

  1. C++ में दीर्घवृत्त में अंकित सबसे बड़े वृत्त का क्षेत्रफल ज्ञात कीजिए

    मान लीजिए कि हमारे पास एक दीर्घवृत्त है, जिसमें प्रमुख और लघु अक्ष लंबाई 2a और 2b है। हमें उस सबसे बड़े वृत्त का क्षेत्रफल ज्ञात करना है जिसे उसमें अंकित किया जा सकता है। तो अगर a =5 और b =3, तो क्षेत्रफल 28.2734 होगा से हम देख सकते हैं कि एक दीर्घवृत्त में अंकित अधिकतम क्षेत्रफल वाले वृत्त की त्

  1. C++ में षट्भुज में अंकित सबसे बड़े त्रिभुज का क्षेत्रफल

    यहां हम सबसे बड़े त्रिभुज का क्षेत्रफल देखेंगे जो नियमित षट्भुज में अंकित है। षट्भुज की प्रत्येक भुजा a है, और त्रिभुज की प्रत्येक भुजा b है। इस आरेख से हम देख सकते हैं कि यदि हम षट्भुज की एक भुजा का उपयोग करके एक त्रिभुज बनाते हैं, तो ये दोनों त्रिभुज प्रत्येक भुजा को दो भागों में बना रहे हैं। ह

  1. C++ का प्रयोग करके दीर्घवृत्त का क्षेत्रफल ज्ञात करने का कार्यक्रम

    यहां हम देखेंगे कि C++ का उपयोग करके दीर्घवृत्त का क्षेत्रफल कैसे प्राप्त करें। अंडाकार के अलग-अलग हिस्से होते हैं। ये नीचे की तरह हैं। मुख्य बिंदु विवरण केंद्र दीर्घवृत्त का केंद्र। यह रेखा खंडों का भी केंद्र है जो दो फ़ॉसी को जोड़ता है। प्रमुख अक्ष दीर्घवृत्त का सबसे लंबा व्यास nmemb यह तत्व