हमें चार पूर्णांक L, R, A और B दिए गए हैं। लक्ष्य [L,R] श्रेणी में संख्याओं की संख्या ज्ञात करना है जो A या B या दोनों को पूरी तरह से विभाजित करते हैं।
हम इसे L से R तक ले जाकर करेंगे और प्रत्येक संख्या के लिए यदि संख्या%A==0 या संख्या%B==0 तो भाजक की वृद्धि संख्या।
आइए उदाहरणों से समझते हैं।
इनपुट - एल=10, आर=15, ए=4, बी=3
आउटपुट - ए या बी के भाजक की संख्या - 2
स्पष्टीकरण -
Number 12 is fully divisible by 3 and 4. Number 15 is fully divisible by 3 only. Total divisors=2
इनपुट - एल=20, आर=30, ए=17, बी=19
आउटपुट - ए या बी के भाजक की संख्या - 0
स्पष्टीकरण - 20 और 30 के बीच की कोई भी संख्या A या B या दोनों से पूरी तरह विभाज्य नहीं है।
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
-
हमने चार चर A, B, L और R लिए हैं।
-
फंक्शन काउंटडिविज़र्स (इंट एल, इंट आर, इंट ए, इंट बी) सभी को इनपुट के रूप में लेता है और ए या बी या दोनों के डिविज़र्स देता है जो रेंज [एल, आर] में स्थित हैं।
-
प्रारंभिक गणना 0 के रूप में लें।
-
i=L से i=R तक, यदि i%a==0 या i%b==0 वेतन वृद्धि की संख्या है।
-
लूप के अंत में A या B के भाजक के रूप में गिनें।
-
परिणाम के रूप में वापसी की गिनती।
उदाहरण
#include <bits/stdc++.h> using namespace std; int countDivisors(int l, int r, int a,int b){ int count = 0; for (int i = l; i <= r; i++){ if(i%a==0 || i%b==0) { count++ ; } } return count; } int main(){ int L=5; int R=15; int A=2; int B=5; cout <<endl<< "Total divisors of A and B : "<<countDivisors(L,R,A,B); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Total divisors of A and B : 7