हमें दो संख्याएँ A और B दी गई हैं। संख्याओं की श्रेणी को परिभाषित करने के लिए दो संख्याएँ START और END भी दी गई हैं। एथ टाइल में सफेद रंग और बीटीएच टाइल में काला रंग है। यदि टाइल को काले और सफेद दोनों रंग से रंगा गया है तो यह ग्रे हो जाती है। लक्ष्य ग्रे टाइलों की कुल संख्या ज्ञात करना है।
हम इसे START से END तक की संख्याओं को पार करके करेंगे और प्रत्येक संख्या के लिए हम जांच करेंगे कि क्या संख्या A और B दोनों का गुणज है। यदि हाँ, तो वृद्धि की गणना करें।
आइए उदाहरणों से समझते हैं।
इनपुट
START=10 END=20 A=3 B=6
आउटपुट
Common multiples of A and B ( grey tiles ): 2
स्पष्टीकरण
Numbers 12, 18 are multiples of 3 and 6.
इनपुट
START=1 END=100 A=10 B=11
आउटपुट
Common multiples of A and B ( grey tiles ): 0
स्पष्टीकरण
No common multiple of 10 and 11 in range.
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
-
हम एक पूर्णांक START और END को श्रेणी चर के रूप में लेते हैं।
-
हम A और B को दो चर के रूप में लेते हैं।
-
फंक्शन काउंटग्रे (इंट स्टार्ट, इंट एंड, इंट ए, इंट बी) रेंज वेरिएबल, ए, बी लेता है और ए और बी के गुणकों की गिनती देता है।
-
ऐसी संख्याओं के लिए प्रारंभिक चर गणना को 0 के रूप में लें।
-
लूप के लिए उपयोग कर संख्याओं की ट्रैवर्स श्रेणी। i=शुरू से i=अंत तक
-
अगर i%a==0 &&i%b==0. तब 'i' a और b दोनों का गुणज है।
-
सभी लूपों के अंत में गिनती में कुल संख्याएँ होंगी जो 'a' और 'b' के गुणज हैं
-
परिणाम के रूप में गिनती लौटाएं।
उदाहरण
#include <bits/stdc++.h> using namespace std; int countGrey(int start, int end, int a, int b){ int count = 0; for (int i = start; i <= end; i++){ if(i%a==0 && i%b==0) //tile is grey { count++; } } return count; } int main(){ int START =10, END = 30; int A=4, B=3; cout <<"Common multiples of A and B ( grey tiles ): "<< countGrey(START,END, A, B); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Common multiples of A and B ( grey tiles ): 2