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

C++ प्रोग्राम न्यूनतम खोजने के लिए कि संख्या 0 बनाने के लिए कितने ऑपरेशन की आवश्यकता है

मान लीजिए कि हमारे पास n अंकों के साथ एक संख्यात्मक स्ट्रिंग S है। मान लें कि S एक डिजिटल घड़ी का प्रतिनिधित्व करता है और पूरी स्ट्रिंग 0 से 10^n - 1 तक एक पूर्णांक दिखाती है। यदि अंकों की एक छोटी संख्या है, तो यह अग्रणी 0s दिखाएगा। संचालन का पालन करें -

  • घड़ी पर संख्या 1 से घटाएं, या

  • दो अंकों की अदला-बदली करें

हम चाहते हैं कि घड़ी 0 दिखाएगी जिसमें न्यूनतम संख्या में संचालन की आवश्यकता होगी। हमें ऐसा करने के लिए आवश्यक कार्यों की संख्या गिननी होगी।

इसलिए, यदि इनपुट S ="1000" जैसा है, तो आउटपुट 2 होगा, क्योंकि हम पहले 1 को अंतिम 0 के साथ स्वैप कर सकते हैं, इसलिए स्ट्रिंग "0001" होगी अब इसे "0000" प्राप्त करने के लिए 1 से घटाएं।

कदम

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

n := size of S
x := digit at place S[n - 1]
for initialize i := 0, when i <= n - 2, update (increase i by 1), do:
   if S[i] is not equal to '0', then:
      x := x + (digit at place S[i]) + 1
return x

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

#include <bits/stdc++.h>
using namespace std;

int solve(string S) {
   int n = S.size();
   int x = S[n - 1] - '0';
   for (int i = 0; i <= n - 2; i++)
      if (S[i] != '0')
         x = x + S[i] + 1 - '0';
   return x;
}
int main() {
   string S = "1000";
   cout << solve(S) << endl;
}

इनपुट

"1000"

आउटपुट

2

  1. C++ प्रोग्राम ग्राफ़ को डिस्कनेक्ट करने के लिए काटने के लिए किनारों की न्यूनतम संख्या खोजने के लिए

    इस कार्यक्रम में हमें एक ग्राफ की एज कनेक्टिविटी को खोजने की जरूरत है। ग्राफ़ के ग्राफ़ की एक एज कनेक्टिविटी का अर्थ है कि यह एक पुल है, इसे हटाने से ग्राफ़ डिस्कनेक्ट हो जाएगा। डिस्कनेक्ट किए गए अप्रत्यक्ष ग्राफ़ में पुल को हटाने के साथ जुड़े घटकों की संख्या बढ़ जाती है। कार्य और छद्म कोड Begin &nb

  1. पायथन में स्ट्रिंग को क्रमबद्ध करने के लिए न्यूनतम संख्या में संचालन खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक स्ट्रिंग s है। जब तक हमें एक क्रमबद्ध स्ट्रिंग नहीं मिल जाती, तब तक हमें s पर निम्न ऑपरेशन करना होगा - सबसे बड़ी अनुक्रमणिका का चयन करें जैसे कि 1 <=i

  1. पायथन में एक नंबर से दूसरे नंबर बनाने के लिए आवश्यक न्यूनतम संख्या में संचालन खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास एक नंबर स्टार्ट है और दूसरा नंबर एंड (स्टार्ट <एंड) है, हमें इन ऑपरेशंस का उपयोग करके स्टार्ट टू एंड को कन्वर्ट करने के लिए आवश्यक ऑपरेशंस की न्यूनतम संख्या ज्ञात करनी होगी - 1 से वृद्धि 2 से गुणा करें इसलिए, यदि इनपुट प्रारंभ =5, अंत =11 जैसा है, तो आउटपुट 2 होगा, क्योंकि