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

C++ में 1 से N तक अंकों की कुल संख्या गिनें

हमें इनपुट के रूप में एक नंबर N दिया गया है। लक्ष्य संख्या 1 से एन के बीच अंकों की कुल संख्या की गणना करना है। 1 से 9 तक की संख्या में प्रत्येक के लिए 1 अंक की आवश्यकता होती है, 11 से 99 में प्रत्येक के लिए 2 अंकों की आवश्यकता होती है, 100 से 999 में प्रत्येक के लिए 3 अंकों की आवश्यकता होती है और इसी तरह।

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

इनपुट -एन=11

आउटपुट − 1 से N तक के अंकों की कुल संख्या इस प्रकार है:13

स्पष्टीकरण - संख्या 1 से 9 तक प्रत्येक में 1 अंक है:9 अंक 10, 11 में प्रत्येक में 2 अंक हैं। 4 अंक। कुल अंक=9+4=13.

इनपुट -एन=999

आउटपुट − 1 से N तक के अंकों की कुल संख्या है:2889

स्पष्टीकरण - संख्या 1 से 9 तक प्रत्येक में 1 अंक होता है:9 अंक 10 से 99 तक प्रत्येक में 2 अंक होते हैं। :180 अंक। 100 से 999 में प्रत्येक में 3 अंक होते हैं:2700 अंक कुल अंक =2700 + 180 + 9 =2889 अंक

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

हम दो दृष्टिकोणों का उपयोग करेंगे। एक संख्या संख्या में अंकों की गणना करने के लिए एक पुनरावर्ती फ़ंक्शन का उपयोग करने वाला पहला अनुभवहीन दृष्टिकोण। पारित संख्या को एक स्ट्रिंग में कनवर्ट करें। स्ट्रिंग की लंबाई अंक में अंक है। वर्तमान संख्या-1 को बार-बार दरकिनार करते हुए प्रत्येक संख्या के लिए ऐसा करें।

  • एक संख्या को धनात्मक पूर्णांक के रूप में लें।

  • फंक्शन Total_digits(int num) संख्या लेता है और 1 से num के बीच की संख्याओं में अंक लौटाता है।

  • अंकों में अंकों की गणना करने के लिए, संख्या को स्ट्रिंग में बदलें। (to_string(num)).

  • स्ट्रिंग की लंबाई अंकों में होती है।

  • यदि संख्या 1 वापसी 1 है। अन्यथा संख्या से कम शेष संख्याओं के लिए लंबाई+ Total_digits(num-1) लौटाएं।

  • अंत में हम परिणाम के रूप में कुल अंक प्राप्त करेंगे।

कुशल दृष्टिकोण

इस दृष्टिकोण में, हम इस तर्क का उपयोग करेंगे कि N तक की प्रत्येक संख्या के लिए हम 10, 100, 1000 को N तक पार करेंगे। प्रत्येक 10i के लिए, अंकों की संख्या (num-i + 1) है।

  • एक संख्या को धनात्मक पूर्णांक के रूप में लें।

  • फंक्शन Total_digits(int num) संख्या लेता है और 1 से num के बीच की संख्याओं में अंक लौटाता है।

  • शुरुआत में कुल गिनती 0 के रूप में लें।

  • i=1 से i<=num को पार करें, प्रत्येक पुनरावृत्ति में i को 10 से बढ़ाएं और गिनने के लिए num-i+1 जोड़ें।

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

उदाहरण (बेवकूफ दृष्टिकोण)

#include <bits/stdc++.h>
using namespace std;
int total_digits(int num){
   string str = to_string(num);
   int length = str.length();
   if (num == 1){
      return 1;
   }
   return length + total_digits(num - 1);
}
int main(){
   int num = 20;
   cout<<"Count of total number of digits from 1 to n are: "<<total_digits(num);
   return 0;
}

आउटपुट

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

Count of total number of digits from 1 to n are: 31

उदाहरण (कुशल दृष्टिकोण)

#include <bits/stdc++.h>
using namespace std;
int total_digits(int num){
   int count = 0;
   for(int i = 1; i <= num; i *= 10){
      count = count + (num - i + 1);
   }
   return count;
}
int main(){
   int num = 20;
   cout<<"Count of total number of digits from 1 to n are: "<<total_digits(num);
   return 0;
}

आउटपुट

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

Count of total number of digits from 1 to n are: 31

  1. 2 में अंकों की संख्या को C++ में n घात तक बढ़ा दिया गया है

    किसी संख्या की शक्ति की गणना भाषा द्वारा प्रदान किए जाने वाले पुनरावृत्त गुणन या फ़ंक्शन का उपयोग करके की जा सकती है। सीधी सी बात है। यहां, हमें 2 को घात n तक बढ़ाना है। और परिणाम में अंकों की संख्या। आइए कुछ उदाहरण देखें। इनपुट 5 आउटपुट 2 इनपुट 10 आउटपुट 4 एल्गोरिदम संख्या n प्रारंभ करें

  1. सी++ में {0, 1, 2, 3, 4, 5} अंकों के साथ एन-वें नंबर

    {0, 1, 2, 3, 4, 5} अंकों से बनने वाली संख्याएँ हैं 0, 1, 2, 3, 4, 5, 10, 11, 12, 13, 14, 15, 20, 21, 22, 23, 24, 25, आदि.. हम पहले 6 अंकों का उपयोग करके उपरोक्त अनुक्रम बना सकते हैं। आइए संख्याओं के बनने का एक उदाहरण देखें। 1 * 10 + 0 = 10 1 * 10 + 1 = 11 1 * 10 + 2 = 12 1 * 10 + 3 = 13 1 * 10 +

  1. सी ++ का उपयोग कर ओपनसीवी में फ्रेम की कुल संख्या की गणना कैसे करें?

    हम सीखेंगे कि OpenCV में फ़्रेम की कुल संख्या की गणना कैसे करें। ओपनसीवी का उपयोग करते हुए, वीडियो के फ्रेम की कुल संख्या को गिनना और दिखाना प्राथमिक है। हालाँकि, आपको एक बात ध्यान में रखनी होगी कि हम वास्तविक समय के वीडियो फ्रेम की कुल संख्या की गणना नहीं कर सकते। क्योंकि रीयल-टाइम वीडियो में निश्च