संख्याओं की श्रेणी को परिभाषित करने के लिए हमें दो संख्याएं START और END प्रदान की जाती हैं। लक्ष्य [START,END] श्रेणी में सभी संख्याओं को खोजना है जो इसके सभी गैर-शून्य अंकों से विभाज्य हैं। हम इसे START से END तक की संख्याओं को ट्रैवर्स करके करेंगे और प्रत्येक संख्या के लिए हम जांच करेंगे कि क्या संख्या सभी गैर-शून्य अंकों से विभाज्य है, जो थोड़ी देर के लूप का उपयोग करता है। यदि हाँ, तो वेतन वृद्धि की गणना करें।
आइए उदाहरणों से समझते हैं।
इनपुट
START=10 END=20
आउटपुट
Numbers that are divisible by all its non-zero digits: 14
स्पष्टीकरण
Numbers 10, 11, 12, 15, 20 are divisible by all their non-zero digits.
इनपुट
START=100 END=200
आउटपुट
Numbers that are divisible by all its non-zero digits: 25
स्पष्टीकरण
This is list of numbers divisible by all non-zero digits : 100 101 102 104 105 110 111 112 115 120 122 124 126 128 132 135 140 144 150 155 162 168 175 184 200
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
-
हम एक पूर्णांक START और END को श्रेणी चर के रूप में लेते हैं।
-
डिजिट्स (इंट स्टार्ट, इंट एंड) द्वारा डिविजिबल फंक्शन रेंज वेरिएबल लेता है और उनके सभी गैर-शून्य अंकों से विभाज्य संख्याओं की गिनती देता है।
-
ऐसी संख्याओं के लिए प्रारंभिक चर गणना को 0 के रूप में लें।
-
परिवर्तनीय ध्वज को 0 के रूप में लें
-
लूप के लिए उपयोग कर संख्याओं की ट्रैवर्स श्रेणी। i=शुरू से i=अंत तक
-
अब प्रत्येक संख्या के लिए num=i, जबकि लूप का उपयोग करके जांचें कि क्या संख्या>0 है।
-
अंक की गणना करें =संख्या% 10। अगर अंक>0 और i%digit==0 ध्वज =1 सेट करें। अन्य ध्वज =0 और तोड़ें। अगले अंक की जांच के लिए num=num/10 कम करें।
-
यदि सभी गैर-शून्य अंक i को पूर्ण रूप से विभाजित करते हैं, तो ध्वज 1 है। वेतन वृद्धि गणना।
-
सभी लूपों के अंत में काउंट की कुल संख्या होगी जो गैर-शून्य अंकों से विभाज्य है
-
परिणाम के रूप में गिनती लौटाएं।
उदाहरण
#include <bits/stdc++.h> using namespace std; int divisiblebyDigits(int start, int end){ int count = 0; int flag=0; for (int i = start; i <= end; i++){ int num=i; while(num>0){ int digit=num%10; if(digit>0){ if(i%digit==0) { flag=1; } //set flag else{ flag=0; //un-set flag break; } } num=num/10; } if(flag==1) //divisible by all non-zero digits { count++; //cout<<i<<" "; } } return count; } int main(){ int START = 10, END = 50; cout <<"Numbers that are divisible by all its non-zero digits: "<< divisiblebyDigits(START,END); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Numbers that are divisible by all its non-zero digits: 14