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

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


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

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

इनपुट

sum = 15, digit = 2

आउटपुट

69

व्याख्या

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

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

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

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

हम LSB को जितना संभव हो उतना बड़ा और MSB को जितना संभव हो उतना छोटा रखने की कोशिश करेंगे।

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

उदाहरण

#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. - C++ का उपयोग करके एक संख्या x खोजें जिसके अंकों का योग x के बराबर दिए गए n के बराबर हो

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

  1. - C++ में दी गई संख्या n के लिए x ढूंढें जहां x + अंकों का योग = n

    समस्या विवरण एक संख्या n दी गई है, हमें एक मान x ढूंढना है जिससे x + x के अंकों का योग = n हो। उदाहरण के लिए, n = 21 के लिए, x = 15 होगा क्योंकि 15 + (1+5) = 21। हल दृष्टिकोण सरल दृष्टिकोण: 1 से n तक पुनरावृति करें, प्रत्येक संख्या के लिए जांचें कि क्या संख्या + उसके अंकों का योग = n है। यदि हां,

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

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