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

C++ में अंक के रूप में 0 वाली संख्याओं की गणना करें

हमें एक संख्या N प्रदान की जाती है। लक्ष्य उन संख्याओं को खोजना है जिनमें 0 अंक हैं और जो [1,N] की सीमा में हैं।

हम इसे 10 से एन तक की संख्याओं को पार करके करेंगे (1 से 9 तक की जांच करने की कोई आवश्यकता नहीं है) और प्रत्येक संख्या के लिए हम प्रत्येक अंक को थोड़ी देर के लूप का उपयोग करके जांचेंगे। यदि कोई अंक शून्य वृद्धि गणना के रूप में पाया जाता है और अगली संख्या पर चले जाते हैं तो अंकों की जांच करने के लिए संख्या को 10 से कम करें जब तक कि संख्या> 0 न हो जाए।

आइए उदाहरणों से समझते हैं।

इनपुट

N=11

आउटपुट

Numbers from 1 to N with 0 as digit: 1

स्पष्टीकरण

Starting from i=10 to i<=11
Only 10 has 0 as a digit. No need to check the range [1,9].

इनपुट

N=100

आउटपुट

Numbers from 1 to N with 0 as digit: 10

स्पष्टीकरण

10, 20, 30, 40, 50, 60, 70, 80, 90, 100. Ten numbers have 0 as digits.

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

  • हम एक पूर्णांक N लेते हैं।

  • फ़ंक्शन hasZero(int n) n को पैरामीटर के रूप में लेता है और 0 के साथ अंकों की संख्या देता है

  • ऐसी संख्याओं के लिए प्रारंभिक चर गणना को 0 के रूप में लें।

  • लूप के लिए उपयोग कर संख्याओं की ट्रैवर्स श्रेणी। i=10 से i=n

  • अब प्रत्येक संख्या num=i के लिए, लूप चेक का उपयोग करते हुए यदि num%10==0, यदि असत्य संख्या को 10 से विभाजित करें और num>0

    तक अगले अंक पर जाएं
  • अगर सही है तो आगे की जाँच करना बंद कर दें, गिनती बढ़ाएँ और लूप के दौरान ब्रेक करें।

  • सभी लूपों के अंत में गिनती में कुल संख्या होगी जिसमें 0 अंकों के रूप में 1 से N के बीच होगा।

  • परिणाम के रूप में गिनती लौटाएं।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int haveZero(int n){
   int count = 0;
   for (int i = 1; i <= n; i++) {
      int num = i;
      while(num>1){
         int digit=num%10;
         if (digit == 0){
            count++;
            break;
         }
         else
            { num=num/10; }
      }
   }
   return count;
}
int main(){
   int N = 200;
   cout <<"Numbers from 1 to N with 0 as digit: "<<haveZero(N);
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

Numbers from 1 to N with 0 as digit: 29

  1. C++ में दी गई श्रेणी में भाज्य संख्याओं की गणना करें

    हमें एक चर द्वारा धारित पूर्णांक मान से शुरू होने वाली श्रेणी दी गई है, मान लीजिए कि चर अंत तक शुरू होता है और कार्य दी गई सीमा में उपलब्ध भाज्य संख्याओं की कुल संख्या की गणना करना है। फैक्टोरियल नंबर क्या है किसी संख्या के भाज्य की गणना अंकों के अंकों को 1 से घटाते हुए अंकों को गुणा करके की जाती ह

  1. C++ में अद्वितीय अंकों के साथ संख्याएं गिनें

    मान लीजिए कि हमारे पास एक गैर-ऋणात्मक पूर्णांक n है। हमें सभी संख्याओं को अद्वितीय अंकों x के साथ गिनना है, जहां x 0 से 10^n की सीमा में है। इसलिए यदि संख्या n 2 है, तो परिणाम 91 होगा, क्योंकि हम 11, 22, 33, 44, 55, 66, 77, 88, 99 के बिना 0 से 100 तक की संख्याएँ खोजना चाहते हैं। इसे हल करने के लिए,

  1. 1 से n तक की संख्याओं की गणना करें जिनमें C++ में एक अंक के रूप में 4 हों

    इस ट्यूटोरियल में, हम 1 से n तक की संख्याओं को खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे, जिसमें 4 अंक होंगे। इसके लिए हमें एक नंबर n प्रदान किया जाएगा। हमारा काम उन सभी नंबरों को गिनना है जिनमें 4 अंकों में से एक है और उसका प्रिंट आउट लेना है। उदाहरण #include<iostream> using namespace std; b