কম্পিউটার

C++ এ প্রদত্ত সংখ্যার ক্ষুদ্রতম স্থানান্তর খুঁজুন


এই সমস্যায়, আমাদের একটি বড় সংখ্যা দেওয়া হয়েছে। আমাদের কাজ হল একটি প্রদত্ত সংখ্যার ক্ষুদ্রতম স্থানান্তর খুঁজে বের করা।

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,

ইনপুট

N = 4529016

আউটপুট

1024569

সমাধান পদ্ধতি

সমস্যার একটি সহজ সমাধান হল দীর্ঘ পূর্ণসংখ্যার মানকে অ্যাস্ট্রিং-এ সংরক্ষণ করে। তারপর আমরা স্ট্রিং বাছাই করব যা আমাদের ফলাফল। কিন্তু যদি কোন অগ্রণী শূন্য থাকে, আমরা সেগুলিকে প্রথম অ-শূন্য মানের পরে স্থানান্তর করব।

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
string smallestNumPer(string s) {
   int len = s.length();
   sort(s.begin(), s.end());
   int i = 0;
   while (s[i] == '0')
      i++;
   swap(s[0], s[i]);
   return s;
}
int main() {
   string s = "4529016";
   cout<<"The number is "<<s<<endl;
   cout<<"The smallest permutation of the number is "<<smallestNumPer(s);
   return 0;
}

আউটপুট

The number is 4529016
The smallest permutation of the number is 1024569

  1. C++ এ থ্রেশহোল্ড দেওয়া ক্ষুদ্রতম ভাজক খুঁজুন

  2. সবচেয়ে ছোট সংখ্যা K খুঁজুন যেমন K % p =0 এবং q % K =0 C++ এ

  3. ক্ষুদ্রতম সংখ্যা n খুঁজুন যেমন n XOR n+1 C++ এ প্রদত্ত k-এর সমান

  4. একটি প্রদত্ত স্ট্রিং-এর পারমুটেশনের সংখ্যা খুঁজে পেতে C++ প্রোগ্রাম