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

C++ में कम से कम 2 अद्वितीय अंकों के साथ N से कम सभी संख्याओं को प्रिंट करें


इस समस्या में, हमें एक पूर्णांक N दिया गया है और हमने N से कम सभी संख्याओं को अधिकतम 2 अद्वितीय अंकों के साथ मुद्रित किया है अर्थात संख्या बनाने के लिए अधिकतम 2 भिन्न अंकों का उपयोग किया जा सकता है ।

आइए समस्या को समझने के लिए एक उदाहरण लेते हैं -

Input: N = 17
Output: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

इस समस्या को हल करने के लिए, हम उन सभी संख्याओं को उत्पन्न करेंगे जिनमें केवल दो अद्वितीय अंक होंगे। हमारी संख्या उत्पन्न करने की प्रक्रिया 0 से शुरू होती है और तब समाप्त होती है जब हमारी संख्या N के बराबर या उससे अधिक होती है। दो अद्वितीय चुने हुए के लिए, num*10+i और num*10+j का उपयोग करके पुनरावर्ती रूप से संख्याएं उत्पन्न करें। . इस प्रक्रिया में कुछ डुप्लिकेट नंबर उत्पन्न हो सकते हैं। इसलिए, हम सेट . का उपयोग कर सकते हैं इससे बचने के लिए नंबर स्टोर करें।

उदाहरण

यह कार्यक्रम समस्या को हल करने के लिए हमारे दृष्टिकोण के कार्यान्वयन को दर्शाता है

#include <bits/stdc++.h>
using namespace std;
set<int> numbers;
void generateNumbers(int n, int num, int i, int j){
   if (num > 0 && num < n)
      numbers.insert(num);
   if (num >= n)
      return;
   if (num*10+i > num)
      generateNumbers(n, num*10+i, i, j);
   generateNumbers(n, num*10+j, i, j);
}
void printUniqueBitNumber(int n){
   for (int i = 0; i <= 9; i++)
      for (int j = i + 1; j <= 9; j++)
         generateNumbers(n, 0, i, j);
   cout<<"The numbers are generated are : ";
   while (!numbers.empty()) {
      cout<<*numbers.begin()<<" ";
      numbers.erase(numbers.begin());
   }
}
int main(){
   int n = 17;
   printUniqueBitNumber(n);
   return 0;
}

आउटपुट

The numbers are generated are : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

  1. C++ में मिन हीप में मान x से कम के सभी नोड्स प्रिंट करें

    इस समस्या में, हमें एक मिनी हीप दिया जाता है और एक मान x और हमें x से कम के सभी नोड्स को प्रिंट करना होगा। न्यूनतम ढेर एक विशेष प्रकार का बाइनरी ट्री है जिसमें प्रत्येक नोड का मान उसके चाइल्ड नोड के नोड मान से कम होता है। आइए समस्या को समझने के लिए एक उदाहरण लेते हैं - X =45 आउटपुट - 2 4 7 10

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

    समस्या कथन लगातार अंकों की एक स्ट्रिंग और एक संख्या Y को देखते हुए, कार्य न्यूनतम सेटों की संख्या ज्ञात करना है जैसे कि प्रत्येक सेट नीचे दिए गए नियम का पालन करता है - सेट में लगातार संख्याएं होनी चाहिए किसी भी अंक का एक से अधिक बार उपयोग नहीं किया जा सकता है। सेट में संख्या Y से अधिक नहीं होनी चा

  1. C++ में n से कम या उसके बराबर सभी भाज्य संख्याएँ ज्ञात कीजिए

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