हमें लंबाई L और चौड़ाई B का एक आयत दिया गया है, जैसे L>=B. लक्ष्य उन वर्गों की संख्या का पता लगाना है जिन्हें LXB आकार का एक आयत समायोजित कर सकता है।
ऊपर दिया गया चित्र 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।
इनपुट - एल=3, बी=3
आउटपुट − आयत में वर्गों की संख्या − 14
स्पष्टीकरण − 1X1 के 9 वर्ग, 2X2 के 4 और 3X3 के 1 वर्ग।
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
-
हम आयत की विमाओं के लिए लंबाई और चौड़ाई का पूर्णांक लेते हैं।
-
फ़ंक्शन 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