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

C++ में दिए गए अंकों की संख्या और अंकों के योग के साथ सबसे छोटी संख्या ज्ञात कीजिए

इस समस्या में, हमें दो मान दिए गए हैं जो योग (अंकों के योग को दर्शाते हैं) और अंक (अंकों की संख्या को दर्शाते हुए) हैं। हमारा काम अंकों की दी गई संख्या और अंकों के योग के साथ सबसे छोटी संख्या को खोजना है।

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

इनपुट

sum = 15, dgiti = 2

आउटपुट

69

स्पष्टीकरण

15 के योग वाली सभी 2 अंकीय संख्याएँ हैं:69, 78, 87, 96।

समाधान दृष्टिकोण

इस समस्या का एक सरल समाधान है कि अंकों की संख्या वाली सभी संख्याओं को अंकों के रूप में मान लिया जाए और वह छोटी से छोटी संख्या ज्ञात की जाए जिसके अंकों का योग योग के बराबर हो।

एक कुशल समाधान लालची दृष्टिकोण का उपयोग कर रहा है। हम अंतिम अंक यानी संख्या के एलएसबी से तत्वों को भरकर संख्या बनाएंगे। हम एलएसबी के लिए सबसे बड़े संभावित तत्व पर विचार करेंगे और फिर अगली स्थिति के लिए जाएंगे।

हम एलएसबी को यथासंभव बड़ा और एमएसबी को यथासंभव छोटा रखने का प्रयास करेंगे।

हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,

उदाहरण

#include <iostream>
using namespace std;
void findSmallestNumWithSum(int digit, int sum) {
   if (sum == 0) {
      if(digit == 1)
         cout<<"Smallest number is 0";
      else
         cout<<"Smallest number with sum cannot be found";
      return ;
   }
   if (sum > 9*digit) {
      cout<<"Smallest number with sum cannot be found";
      return ;
   }
   int number[digit];
   sum -= 1;
   for (int i = digit-1; i>0; i--) {
      if (sum > 9) {
         number[i] = 9;
         sum -= 9;
      } else {
         number[i] = sum;
         sum = 0;
      }
   }
   number[0] = sum + 1;
   cout<<"Smallest number is ";
   for (int i=0; i<digit; i++)
      cout<<number[i];
}
int main() {
   int sum = 15, digit = 3;
   findSmallestNumWithSum(digit, sum);
   return 0;
}

आउटपुट

Smallest number is 159

  1. ऐसी संख्या x ज्ञात कीजिए कि C++ का प्रयोग करते हुए x और उसके अंकों का योग दिए गए n के बराबर हो।

    यहां हम एक समस्या देखेंगे, जहां हम एक संख्या n लेते हैं, हमें एक और मान x ज्ञात करना होता है, जैसे कि x का x + अंकों का योग दी गई संख्या n के समान हो। मान लीजिए n का मान 21 है। यह प्रोग्राम एक संख्या x =15, 15 + अंकों का योग 15, यानी 15 + 1 + 5 =21 =n के रूप में लौटाएगा। इस समस्या को हल करने के लिए

  1. ऐसी संख्या x ज्ञात कीजिए कि C++ में x और उसके अंकों का योग दिए गए n के बराबर हो

    यहां हम एक समस्या देखेंगे, जहां हम एक संख्या n लेते हैं, हमें एक और मान x ज्ञात करना होता है, जैसे कि x का x + अंकों का योग दी गई संख्या n के समान हो। मान लीजिए n का मान 21 है। यह प्रोग्राम एक संख्या x =15, 15 + अंकों का योग 15, यानी 15 + 1 + 5 =21 =n के रूप में लौटाएगा। इस समस्या को हल करने के लिए

  1. सी ++ प्रोग्राम किसी दिए गए नंबर के अंकों का योग करने के लिए

    C++ भाषा में अंकों के योग की गणना करने के लिए यहां एक उदाहरण दिया गया है, उदाहरण #include<iostream> using namespace std; int main() {    int x, s = 0;    cout << "Enter the number : ";    cin >> x;    while (x != 0) {