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

C++ में एक संख्या d जोड़ने के बाद न्यूनतम संभावित अंक योग ज्ञात करें


इस समस्या में, हमें दो संख्याएँ n और d दी गई हैं। हमारा कार्य d का k-वाँ गुणक n में जोड़कर अंकों के योग को न्यूनतम करना है।

समस्या विवरण - हमें n में d के k-वें गुणक को जोड़कर अंकों के योग को न्यूनतम करना है।

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

इनपुट

n = 5230, d = 54

आउटपुट

1

व्याख्या

संख्या होगी 5230 + (2*54) = 5338

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

इस समस्या को हल करने का एक सरल तरीका d के 1 से 8 तक के सभी गुणकों की जाँच करना है, क्योंकि 9वें गुणक पर अंकों का योग दोहराया जाता। यह मॉड्यूलो 9 पर आधारित है, जो अंकों का योग लौटाता है। इसलिए a+d*(9k+l) मॉड्यूलो 9, a+d*l मॉड्यूलो 9 के बराबर होता है। अतः हम l*d के सभी गुणकों की जाँच 1 से 8 तक करेंगे और न्यूनतम पाया गया मान लौटाएँगे।

कार्यक्रम में एक सुधार यह किया जा सकता है कि अंकों का योग कभी भी 1 से कम नहीं होगा, इसलिए यदि हमें अंकों का योग = 1 मिलता है, तो हम उसे तुरंत लौटा देंगे।

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

उदाहरण

#include <iostream> using namespace std; int calcDigitSum(int n) {    int i = n % 9;    if (i == 0)       return 9;    else       return i; } int findMinDigitSum(int n, int d) {    int minSum = 10;    int number;    for (int i = 1; i < 9; i++) {       number = (n + i * d);       minSum = min(minSum, calcDigitSum(number));       if(minSum == 1)          return minSum;    }    return minSum; } int main() {    int n = 5230, d = 54;    cout<<"The minimum possible digitsum after adding the number is "<<findMinDigitSum(n, d);    return 0; }

आउटपुट

The minimum possible digitsum after adding the number is 1

  1. - C++ प्रोग्राम: अंक d वाली संख्याएं ज्ञात करना

    मान लें हमारे पास एक अंक d है, और ऊपरी सीमा n है। हमें 0 से n की सीमा में वे सभी संख्याएं ज्ञात करनी हैं जिनमें d है। इसलिए यदि n = 20, और अंक 3 है, तो संख्याएं [3, 13] होंगी। इस समस्या को हल करने के लिए, हम प्रत्येक संख्या को स्ट्रिंग के रूप में लेंगे, फिर यदि अंक स्ट्रिंग में मौजूद है, तो संख्या

  1. - C++ में N को योग के रूप में व्यक्त करने के लिए आवश्यक न्यूनतम पालिंड्रोम की संख्या

    समस्या कथन एक संख्या N दी गई है, हमें N को पालिंड्रोम के योग के रूप में व्यक्त करने के लिए आवश्यक न्यूनतम पालिंड्रोम की संख्या ढूंढनी है। यदि N=15, तो 2 पालिंड्रोम आवश्यक हैं: 8 और 7। एल्गोरिदम 1. N तक के सभी पालिंड्रोम को सॉर्टेड तरीके से उत्पन्न करें 2. सबसे छोटे सबसेट का आकार ढूंढें जिसका योग N

  1. - C++ में किसी संख्या के गुणनखंडों का न्यूनतम योग ढूंढना

    यहां हम देखेंगे कि किसी दी गई संख्या के गुणनखंडों का न्यूनतम योग कैसे प्राप्त करें। मान लीजिए एक संख्या 12 है। हम इसे अलग-अलग तरीकों से गुणनखंडित कर सकते हैं: 12 = 12 × 1 (12 + 1 = 13) 12 = 2 × 6 (2 + 6 = 8) 12 = 3 × 4 (3 + 4 = 7) 12 = 2 × 2 × 3 (2 + 2 + 3 = 7) न्यूनतम योग 7 है। हम