কম্পিউটার

C++ প্রোগ্রাম 0 নম্বর করতে ন্যূনতম কতগুলি অপারেশন প্রয়োজন তা খুঁজে বের করতে


ধরুন আমাদের n সংখ্যা সহ একটি সংখ্যাসূচক স্ট্রিং S আছে। বিবেচনা করুন S একটি ডিজিটাল ঘড়ির প্রতিনিধিত্ব করে এবং পুরো স্ট্রিংটি 0 থেকে 10^n - 1 পর্যন্ত একটি পূর্ণসংখ্যা দেখায়৷ যদি সংখ্যার একটি ছোট সংখ্যা থাকে তবে এটি অগ্রণী 0s দেখাবে৷ অপারেশন অনুসরণ করুন -

  • ঘড়ির কাঁটার সংখ্যা 1 বা

    কমিয়ে দিন
  • দুটি সংখ্যা অদলবদল করুন

আমরা চাই ন্যূনতম সংখ্যক অপারেশনের প্রয়োজন সহ ঘড়িটি 0 দেখাবে। এটি করার জন্য আমাদের প্রয়োজনীয় অপারেশনের সংখ্যা গণনা করতে হবে৷

সুতরাং, যদি ইনপুটটি S ="1000" এর মতো হয়, তাহলে আউটপুট হবে 2, কারণ আমরা শেষ 0 এর সাথে প্রথম 1 অদলবদল করতে পারি, তাই স্ট্রিংটি "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++ এ মোট n তৈরি করতে ন্যূনতম সংখ্যক অক্ষর প্রয়োজন।

  2. গ্রাফ সংযোগ বিচ্ছিন্ন করার জন্য কাট করার জন্য ন্যূনতম সংখ্যক প্রান্ত খুঁজে বের করার জন্য C++ প্রোগ্রাম

  3. পাইথনে স্ট্রিং সাজানোর জন্য ন্যূনতম সংখ্যক অপারেশন খুঁজে বের করার প্রোগ্রাম

  4. পাইথনে এক নম্বর থেকে অন্য নম্বর তৈরি করার জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক অপারেশন খুঁজে বের করার প্রোগ্রাম