हमें दो संख्याएं A और B दी गई हैं। साथ ही रेंज को परिभाषित करने के लिए दो संख्याएं START और END प्रदान की गई हैं। Ath टाइल पर सफेद पेंट है और Bth टाइल पर काला पेंट है। यदि टाइल पर काला और सफेद दोनों पेंट हैं तो यह ग्रे हो जाती है। लक्ष्य ग्रे टाइलों की कुल संख्या ढूंढना है।
हम इसे START से END तक संख्याओं को पार करके और प्रत्येक संख्या के लिए जांचेंगे कि क्या संख्या A और B दोनों का गुणज है। यदि हां तो काउंट बढ़ाएं।
उदाहरण से समझते हैं
इनपुट
START=10 END=20 A=3 B=6
आउटपुट
A और B के सामान्य गुणज (ग्रे टाइलें): 2
व्याख्या
संख्याएं 12, 18, 3 और 6 दोनों के गुणज हैं।
इनपुट
START=1 END=100 A=10 B=11
आउटपुट
A और B के सामान्य गुणज (ग्रे टाइलें): 0
व्याख्या
रेंज में 10 और 11 का कोई सामान्य गुणज नहीं है।
नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण
हम रेंज चर के रूप में पूर्णांक START और END लेते हैं।
हम दो चर A और B लेते हैं।
फ़ंक्शन countGrey(int start, int end, int a, int b) रेंज चर, a, b लेता है और a और b के गुणजों की संख्या लौटाता है।
प्रारंभिक चर count को 0 से आरंभ करें ऐसी संख्याओं के लिए।
फॉर लूप का उपयोग करके संख्याओं की रेंज को पार करें। i=start से i=end
यदि 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) //टाइल ग्रे है { count++; } } return count; } int main(){ int START =10, END = 30; int A=4, B=3; cout <<"A और B के सामान्य गुणज (ग्रे टाइलें): "<< countGrey(START,END, A, B); return 0; } आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा -
A और B के सामान्य गुणज (ग्रे टाइलें): 2