हमें ऊंचाई X चौड़ाई के रूप में आयामों के साथ एक आयत दिया गया है। आयत को एक 2D निर्देशांक प्रणाली पर दर्शाया गया है जिसमें बिंदु (0,0) पर बाएँ-निचले कोने हैं। तो लक्ष्य इस आयत के अंदर संभव रोम्बी की संख्या को गिनना है ताकि ये सभी शर्तें पूरी हों -
-
समचतुर्भुज का क्षेत्रफल 0 से अधिक होता है।
-
समचतुर्भुज के विकर्ण x और y अक्ष के समानांतर होते हैं।
-
समचतुर्भुज में सभी कोनों के लिए पूर्णांक निर्देशांक होते हैं।
आइए उदाहरणों के साथ समझते हैं
इनपुट -लंबाई=3 चौड़ाई=3
आउटपुट − दिए गए आकार के एक आयत के अंदर संभव रंबी की संख्या की संख्या है:4
स्पष्टीकरण - नीचे की आकृति में ऊंचाई =चौड़ाई =3 का एक आयत है। इसके अलावा, हम चार समचतुर्भुज को क्षेत्र>0 और दोनों अक्षों के समानांतर विकर्ण (पूर्णांक निर्देशांक भी) के साथ देख सकते हैं -
First [ (1,0), (2,1), (1,2), (0,1) ] Second [ (2,0), (3,1), (2,2), (1,1) ] Third [ (2,1), (3,2), (2,3), (1,2) ] Fourth [ (1,1), (2,1), (1,2), (0,1) ]
इनपुट -लंबाई=2 चौड़ाई=3
आउटपुट − दिए गए आकार के एक आयत के अंदर संभव रोम्बी की संख्या की संख्या है:2
स्पष्टीकरण - नीचे की आकृति में एक आयत है जिसकी ऊँचाई =2 चौड़ाई =3 है। इसके अलावा हम अंदर दो रोम्बी देख सकते हैं
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
गैर-शून्य क्षेत्र और पूर्णांक निर्देशांक वाला पहला समचतुर्भुज दाएं ऊपरी कोने से (2,2) पर शुरू होगा। इंडेक्स i=j=2 से i<=length और j<=length तक ट्रैवर्सिंग शुरू करें। सम लंबाई (पूर्णांक निर्देशांक के लिए) तय करने के लिए i और j को 2 से बढ़ाएँ। इन विकर्णों वाले समचतुर्भुज की संख्या होगी (ऊंचाई-i+1)X(चौड़ाई-j+1)।
-
लंबाई और चौड़ाई को पूर्णांकों के रूप में लें।
-
फ़ंक्शन संभव_रोम्बस (इंट लंबाई, इंट चौड़ाई) एक आयत के आयाम लेता है और आयत के अंदर संभव रॉम्बी की गिनती देता है जो सभी उल्लिखित शर्तों का पालन करता है।
-
प्रारंभिक गणना 0 के रूप में लें।
-
i=2 से i<=लंबाई और j=2 से j<=चौड़ाई पर जाएं।
-
प्रत्येक i,j के लिए temp_1=लंबाई-i+1 और temp_2=चौड़ाई-j+1
. लें -
गिनने के लिए temp_1*temp_2 जोड़ें।
-
i और j को 2 से बढ़ाएँ (पूर्णांक निर्देशांकों के लिए)।
-
परिणाम के रूप में अंत में वापसी की गिनती।
उदाहरण
#include <bits/stdc++.h> using namespace std; long long possible_rhombus(int height, int width){ long long count = 0; for (int i = 2; i <= height; i += 2){ for (int j = 2; j <= width; j += 2){ int temp_1 = height - i + 1; int temp_2 = width - j + 1; count += temp_1 * temp_2; } } return count; } int main(){ int height = 4, width = 4; cout<<"Count of number of rhombi possible inside a rectangle of given size are: "<<possible_rhombus(height, width); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Count of number of rhombi possible inside a rectangle of given size are: 16