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

C++ में एक आयत में वर्गों की संख्या गिनें


हमें लंबाई L और चौड़ाई B का एक आयत दिया गया है, जैसे L>=B. लक्ष्य उन वर्गों की संख्या का पता लगाना है जिन्हें LXB आकार का एक आयत समायोजित कर सकता है।

C++ में एक आयत में वर्गों की संख्या गिनें

ऊपर दिया गया चित्र 3 X 2 आकार का एक आयत दिखाता है। इसमें 2, 2X2 वर्ग और 6,1X1 वर्ग हैं।

कुल वर्ग=6+2=8.

  • LXB आकार के प्रत्येक आयत में L*B संख्या 1X1 वर्ग होती है।

  • सबसे बड़े वर्ग BXB आकार के होते हैं।

  • L=B=1 के लिए, वर्ग =1.

  • L=B=2 के लिए, वर्ग =1 + 4 =5. (2X2 का 1, 1X1 का 4)

  • L=B=3 के लिए, वर्ग =1 + 4 + 9 =14. (3X3 में से 1, 2X2 का 4, 1X1 का 9)

  • L=B=4 के लिए, वर्ग =1 + 4 + 9 + 16 =30 (4X4 में से 1, 3X3 का 4, 2X2 का 9, 1X1 का 16)

  • ……………..

  • प्रत्येक BXB आयत के लिए वर्गों की संख्या है

for ( i=1 to B )
No. of squares + = i*i.

जब एल> बी। अधिक चौकों को जोड़ा जाएगा। जब L=B+1 ( B से 1 अतिरिक्त कॉलम)। फिर जोड़े गए वर्ग L + (L-1) +….+3+2+1 =L(L+1)/2

होंगे

तो अतिरिक्त एल-बी कॉलम के लिए जोड़े गए वर्ग होंगे (एल-बी) * (बी)(बी+1)/2

  • कुल वर्ग BXB + (L-B) * (L)(L+1)/2 में वर्ग होंगे।

  • आप चरण 8 में शृंखला (1 + 4 + 9 +......BXB) के लिए सूत्र B(B+1)(2B+1)/6 का भी उपयोग कर सकते हैं।

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

इनपुट - एल=4, बी=2

आउटपुट − आयत में वर्गों की संख्या − 11

स्पष्टीकरण − 1X1 के 8 वर्ग और 2X2 के 3।

C++ में एक आयत में वर्गों की संख्या गिनें

इनपुट - एल=3, बी=3

आउटपुट − आयत में वर्गों की संख्या − 14

स्पष्टीकरण − 1X1 के 9 वर्ग, 2X2 के 4 और 3X3 के 1 वर्ग।

C++ में एक आयत में वर्गों की संख्या गिनें

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

  • हम आयत की विमाओं के लिए लंबाई और चौड़ाई का पूर्णांक लेते हैं।

  • फ़ंक्शन numofSquares(int l, int b) आयाम लेता है और आकार lXb के आयत में वर्गों की संख्या देता है।

  • सबसे बड़े वर्गों के लिए bXb. 1 से b तक लूप के लिए उपयोग करें और प्रत्येक i*i को वर्गों में जोड़ें।

  • अब अगर l>b. नए जोड़े गए वर्ग (एल-बी)(बी)(बी+1)/2 होंगे। इसे वर्गों में जोड़ें।

  • वांछित परिणाम के रूप में वर्ग लौटाएं।

नोट − लंबाई रखते हुए>=चौड़ाई

उदाहरण

#include<iostream>
using namespace std;
int numofSquares(int l, int b){
   int squares=0;
   for(int i=1;i<=b;i++) //squares inside biggest square of size breadth X breadth{
      squares += i*i;
   }
   squares+=(l-b)*b*(b+1)/2;
   return squares;
}
int main(){
   int length = 5, breadth = 4; //keep length always >= breadth
   cout << "Count of squares is :"<< numofSquares(length,breadth);
}

आउटपुट

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

Count of squares is :40

  1. C++ में एक पूर्णांक में छिद्रों की संख्या गिनें

    छेदों की एक सरणी को देखते हुए[10] जिसमें 0 से 9 तक की संख्या में कई छेद हैं। लक्ष्य इनपुट के रूप में दी गई पूर्णांक संख्या में छिद्रों की संख्या ज्ञात करना है। दिया गया - छेद [] ={ 2, 1, 1, 0, 0, 1, 1, 1, 0 } उदाहरण के लिए इनपुट number = 239143 आउटपुट Count the number of holes in an integer are: 3

  1. C++ में किसी संख्या के भाज्य में अनुगामी शून्यों की गणना करें

    इनपुट के रूप में एक पूर्णांक संख्या दी गई है। लक्ष्य उस संख्या के लिए गणना किए गए भाज्य में अनुगामी शून्यों की संख्या ज्ञात करना है। संख्या N का एक भाज्य [1, N] श्रेणी में सभी संख्याओं का गुणनफल होता है। हम जानते हैं कि हमें अनुगामी शून्य तभी प्राप्त होता है जब संख्या 10 का गुणज हो या एक गुणनखंड यु

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

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