Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

श्रेणी में संख्याओं की गणना करें जो C++ में इसके सभी गैर-शून्य अंकों से विभाज्य हों

संख्याओं की श्रेणी को परिभाषित करने के लिए हमें दो संख्याएं 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

  1. C++ में K के रूप में सबसे छोटे कारक वाले श्रेणी में सभी संख्याओं की गणना करें

    इस ट्यूटोरियल में, हम K के रूप में सबसे छोटे कारक के साथ एक श्रेणी में संख्याओं को खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे। इसके लिए हमें एक रेंज [ए, बी] प्रदान की जाएगी। हमारा काम दी गई श्रेणी में उन संख्याओं को गिनना है जिनका सबसे छोटा गुणनखंड K है। उदाहरण #include <bits/stdc++.h> using n

  1. सभी संभावित एन अंकों की संख्या की गणना करें जो सी ++ में दी गई शर्त को पूरा करती हैं

    इस ट्यूटोरियल में, हम दिए गए शर्त को पूरा करने वाले संभावित एन अंकों की संख्या को खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे। इसके लिए हमें एक पूर्णांक प्रदान किया जाएगा। हमारा काम यह जांचना है कि एन अंक वाले नंबरों में से कौन सा नंबर फॉलो करता है संख्या + उल्टा (संख्या) =10N -1 उदाहरण #include <

  1. किसी दिए गए नंबर से सख्ती से कम संख्या को प्रिंट करें जैसे कि उसके सभी अंक C++ में अलग हों

    इस समस्या में, हमें एक संख्या n दी गई है। हमारा काम n से छोटी सबसे बड़ी संख्या को इस तरह प्रिंट करना है कि उसके सभी अंक अलग-अलग हों। आइए समस्या को समझने के लिए एक उदाहरण लेते हैं Input: n = 2332 Output: 2319 इस समस्या को हल करने के लिए, हम संख्याओं की गिनती को n से 0 तक उलट देते हैं। और अलग-अलग अं