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

C++ में Y से कम संख्याओं वाले न्यूनतम सेटों की संख्या

समस्या कथन

लगातार अंकों की एक स्ट्रिंग और एक संख्या Y दी गई है। न्यूनतम सेटों की संख्या ढूंढनी है ताकि प्रत्येक सेट निम्न नियमों का पालन करे:

  • सेट में लगातार संख्याएं होनी चाहिए
  • कोई अंक एक से अधिक बार उपयोग नहीं किया जा सकता
  • सेट में संख्या Y से अधिक नहीं होनी चाहिए

उदाहरण

यदि str = "1234" और Y = 20, तो उत्तर 3 है क्योंकि सेट बनते हैं: {12}, {3}, {4}

एल्गोरिदम

  1. स्ट्रिंग को संख्या में बदलें
  2. यदि संख्या Y से अधिक नहीं है, तो f = 1 मार्क करें
  3. यदि संख्या Y से अधिक हो जाती है, तो काउंट बढ़ाएं यदि f=1, f को 0 पर रीसेट करें, और num को वर्तमान अंक या 0 पर पुनः आरंभ करें
  4. स्ट्रिंग पूरी तरह से पार करने के बाद, यदि f=1 है तो काउंट बढ़ाएं

C++ उदाहरण

#include <iostream>
#include <string>
using namespace std;

int getMinSets(string str, int y) {
    int cnt = 0, num = 0, l = str.length(), f = 0;
    for (int i = 0; i < l; ++i) {
        num = num * 10 + (str[i] - '0');
        if (num <= y) {
            f = 1;
            continue;
        }
        if (f) ++cnt;
        num = str[i] - '0';
        f = 0;
        if (num <= y) f = 1;
        else num = 0;
    }
    if (f) ++cnt;
    return cnt;
}

int main() {
    string str = "1234";
    int y = 20;
    cout << "Minimum sets = " << getMinSets(str, y) << endl;
    return 0;
}

आउटपुट

Minimum sets = 3
  1. C++ में डुडनी नंबर (Dudeney Numbers) C++ में डुडनी नंबर (Dudeney Numbers)

    संख्या सिद्धांत में परिभाषित एक गणितीय संख्या एक दी गई संख्या आधार में एक प्राकृतिक संख्या है जो दूसरी प्राकृतिक संख्या के पूर्ण घन के बराबर होती है जैसे कि पहली प्राकृतिक संख्या का अंक योग दूसरी संख्या के अंक योग के बराबर होता है (विकिपीडिया)। इस संख्या की खोज हेनरी डुडनी ने की थी। इसका गणितीय सू

  1. - C++ में N से छोटी या बराबर न्यूनतम संख्याएं जिनका योग S हो

    समस्या कथन1 से N तक N संख्याएं और एक संख्या S दी गई है। कार्य उन न्यूनतम संख्याओं को प्रिंट करना है जिनका योग S देता हैउदाहरणयदि n = 7 और s = 10 तो न्यूनतम 2 संख्याएं आवश्यक हैं(9, 1) (8, 2) (7, 3) (6, 4)एल्गोरिदमउत्तर की गणना नीचे दिए गए सूत्र का उपयोग करके की जा सकती है (S/N) + 1 यदि { S %N > 0

  1. - C++ में n से कम या बराबर सभी फैक्टोरियल संख्याएं खोजें

    यहां हम देखेंगे कि n से कम या बराबर सभी फैक्टोरियल संख्याओं को कैसे प्रिंट किया जाए। एक संख्या N को फैक्टोरियल संख्या कहा जाता है यदि यह किसी धनात्मक संख्या का फैक्टोरियल है। इसलिए कुछ फैक्टोरियल संख्याएं हैं: 1, 2, 6, 24, 120। फैक्टोरियल संख्याओं को प्रिंट करने के लिए, हमें सीधे फैक्टोरियल खोजने क