কম্পিউটার টিউটোরিয়াল

C++-এ N দৈর্ঘ্যের সংখ্যাতে অন্তত 'K' বার একই ডিজিট থাকতে রূপান্তর


এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম নিয়ে আলোচনা করব যা N দৈর্ঘ্যের একটি সংখ্যাকে এমনভাবে রূপান্তর করে যাতে অন্তত 'K' বার একই ডিজিট থাকে।

এখানে আমাদের একটি নির্দিষ্ট দৈর্ঘ্য N-এর একটি সংখ্যা দেওয়া থাকবে। আমাদের কাজ হলো দেওয়া সংখ্যার ডিজিটগুলো রূপান্তর করা যাতে যেকোনো একটি ডিজিট কমপক্ষে 'K' বার রিপিট হয়। এছাড়া এই অপারেশনের খরচ বের করতে হবে যা হলো দুটি মানের tuyệtত পার্থক্য (absolute difference) এবং সর্বনিম্ন খরচ প্রিন্ট করতে হবে।

উদাহরণ

#include <bits/stdc++.h> using namespace std; //সর্বনিম্ন মান এবং চূড়ান্ত সংখ্যা ক্যালকুলেট করা int get_final(int n, int k, string a){    int modtemp;    //k-এ পরিবর্তন করা সংখ্যার কাউন্ট    int co;    string temp;    //সর্বনিম্ন খরচ সংরক্ষণ    pair<int, string> ans = make_pair(INT_MAX, "");    for (int i = 0; i < 10; i++) {       temp = a;       //সংশোধিত সংখ্যা অস্থায়ীভাবে সংরক্ষণ       modtemp = 0;       co = count(a.begin(), a.end(), i + '0');       for (int j = 1; j < 10; j++) {          if (i + j < 10) {             for (int p = 0; p < n; p++) {                if (co <= k)                   break;                if (i + '0' == temp[p] - j) {                   temp[p] = i + '0';                   modtemp += j;                   co++;                }             }            }          if (i - j >= 0) {             for (int p = n - 1; p >= 0; p--) {                if (co >= k)                   break;                if (i + '0' == temp[p] + j) {                   temp[p] = i + '0';                   modtemp += j;                   co++;                }             }          }       }       //পূর্বের সাথে সর্বনিম্ন খরচ রিপ্লেস করা       ans = min(ans, make_pair(modtemp, temp));    }    cout << ans.first << endl << ans.second << endl; } int main(){    int n = 5, k = 4;    string a = "21122";    get_final(n, k, a);    return 0; }

আউটপুট

1 21222

  1. সি++ প্রোগ্রাম: X!-তে কমপক্ষে Yটি ট্রেইলিং জিরো থাকা সর্বনিম্ন X নির্ণয়

  2. C++ ব্যবহার করে অ্যারেতে XOR ০ হয় এমন জোড়ার সংখ্যা বের করা

  3. C++ ব্যবহার করে অ্যারেতে এমন এলিমেন্ট বের করা যেটি সব এলিমেন্টকে ভাগ করে দেয়

  4. দেওয়া সংখ্যা n-এর জন্য x + x-এর অঙ্কের যোগফল = n এমন x খুঁজে বের করা C++-এ