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

C++ में X से बड़े संख्यात्मक मान वाले सबस्ट्रिंग्स की गिनती


हमें 0 से 9 तक की संख्याओं की एक स्ट्रिंग दी गई है। यह स्ट्रिंग एक दशमलव संख्या को दर्शाती है। लक्ष्य उन सभी सबस्ट्रिंग्स को ढूंढना है जो एक दशमलव संख्या को दर्शाती हैं जो संख्या X से बड़ी है। शर्त यह है कि सबस्ट्रिंग 0 से शुरू नहीं होनी चाहिए। यानी "2021" में, "02", "021", "0" शामिल नहीं होंगे।

हम इसे सभी सबस्ट्रिंग्स के पहले मान की जांच करके करेंगे, यदि यह 0 से बड़ा है तो उस इंडेक्स से सबस्ट्रिंग्स बनाना शुरू करेंगे और उन्हें stoi() का उपयोग करके पूर्णांक में बदलेंगे। यदि सबस्ट्रिंग > X है तो काउंट बढ़ाएंगे।

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

इनपुट - str="123" X=12

आउटपुट - X से बड़े संख्यात्मक मान वाले सबस्ट्रिंग्स की संख्या: 2

व्याख्या 12 से बड़े सबस्ट्रिंग्स: 123 और 23।

इनपुट - str="111" X=100

आउटपुट - X से बड़े संख्यात्मक मान वाले सबस्ट्रिंग्स की संख्या: 1

व्याख्या केवल 111, 100 से बड़ा है।

नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण

  • हम केवल संख्याओं की एक स्ट्रिंग str लेते हैं।

  • str की लंबाई को len=str.length() में स्टोर करते हैं।

  • फंक्शन greater_X(string str, int x) स्ट्रिंग और उसकी लंबाई लेता है और X से बड़ी दशमलव संख्या बनाने वाले सबस्ट्रिंग्स की गिनती लौटाता है।

  • FOR लूप का उपयोग करके स्ट्रिंग को पार करते हैं।

  • इंडेक्स i=0 से i

  • यदि कोई str[i] != '0' है तो उससे शुरू होने वाले सभी सबस्ट्रिंग्स वैध होंगे।

  • इंडेक्स j=1 से i+j <= len तक, सबस्ट्रिंग की लंबाई के लिए।

  • सबस्ट्रिंग str.substr(i,j) को stoi() का उपयोग करके दशमलव में बदलते हैं। यदि यह X से अधिक है तो काउंट बढ़ाते हैं।

  • काउंट को परिणाम के रूप में लौटाते हैं।

उदाहरण

#include <bits/stdc++.h> using namespace std; int greater_X(string str, int x){ int count = 0; int len = str.length(); for (int i = 0; i < len; ++i){ if(str[i] != '0'){ for (int j=1; (i + j) <= len; ++j){ if (stoi(str.substr(i, j)) > x){ count++; } } } } return count; } int main(){ string str = "987"; int x = 100; cout<<"X से बड़े संख्यात्मक मान वाले सबस्ट्रिंग्स की संख्या: "<<greater_X(str, x); return 0; }

आउटपुट

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

X से बड़े संख्यात्मक मान वाले सबस्ट्रिंग्स की संख्या: 1

  1. - C++ कोड: संख्यात्मक स्ट्रिंग के सम सबस्ट्रिंग की गणना करें

    मान लीजिए हमारे पास n अंकों का एक स्ट्रिंग S है। S का एक सबस्ट्रिंग सम कहा जाता है यदि इस स्ट्रिंग द्वारा दर्शाई गई संख्या भी सम है। हमें S के सम सबस्ट्रिंग की संख्या ढूंढनी है।उदाहरण के लिए, यदि इनपुट S = 1234 है, तो आउटपुट 6 होगा, क्योंकि सबस्ट्रिंग हैं 2, 4, 12, 34, 234, 1234।इसे हल करने के लिए,

  1. - C++ में पूर्णांकों की स्ट्रिंग में 6 से विभाज्य सबस्ट्रिंग्स की संख्या

    हम एक ऐसी समस्या को देखेंगे जिसमें हमें एक पूर्णांक स्ट्रिंग दी गई है और यह निर्धारित करना है कि पूर्णांक प्रारूप में कितने सबस्ट्रिंग्स 6 से विभाज्य हैं। यह ध्यान दिया जाना चाहिए कि इनपुट संख्याओं (पूर्णांकों) से बनी स्ट्रिंग के रूप में है। फिर भी, विभाज्यता जांच केवल पूर्णांक के रूप में की जाएगी

  1. C++ में स्ट्रिंग के सबस्ट्रिंग्स की संख्या निकालना C++ में स्ट्रिंग के सबस्ट्रिंग्स की संख्या निकालना

    इस लेख में, आप एक दी गई स्ट्रिंग में बनने वाले सबस्ट्रिंग्स (गैर-खाली) की संख्या निकालने के दृष्टिकोण के बारे में जानेंगे।इनपुट: string = moon आउटपुट: 10 व्याख्या: सबस्ट्रिंग्स हैं m, o, o, n, mo, oo, on, moo, oon और moon। इनपुट: string = yellow आउटपुट: 21समाधान खोजने का दृष्टिकोणमान लें स्ट्रिंग की