কম্পিউটার

C++ ব্যবহার করে একটি প্রদত্ত সংখ্যার পুনরাবৃত্তি সংখ্যাগুলি সরান


এই নিবন্ধে, আমাদের একটি সংখ্যা n দেওয়া হয়েছে, এবং আমাদের একটি প্রদত্ত সংখ্যার বারবার সংখ্যাগুলি সরাতে হবে৷

Input: x = 12224
Output: 124

Input: x = 124422
Output: 1242

Input: x = 11332
Output: 132

প্রদত্ত সমস্যাটিতে, আমরা সমস্ত সংখ্যার মধ্য দিয়ে যাব এবং পুনরাবৃত্তি করা সংখ্যাগুলিকে সরিয়ে দেব।

সমাধান খোঁজার পদ্ধতি

প্রদত্ত পদ্ধতিতে, আমরা এখন ডান থেকে বামে n-এর সমস্ত অঙ্কের মধ্য দিয়ে যাব। আমরা 10 দিয়ে n এর mod নিয়ে এবং তারপর 10 দিয়ে n কে ভাগ করে n এর ডিজিটের মধ্য দিয়ে যাই। এখন আমাদের বর্তমান ডিজিট হল n mod 10। আমরা এটিকে আগের ডিজিট দিয়ে পরীক্ষা করি। সংখ্যা সমান হলে, আমরা এখন n অতিক্রম করব। যদি তারা একই রকম না হয়, আমরা এই সংখ্যাটি আমাদের নতুন নম্বরে যোগ করি, আগের সংখ্যাটিকে বর্তমানে পরিবর্তন করি এবং লুপটি চালিয়ে যাই।

উদাহরণ

#include <bits/stdc++.h>

#define MOD 1000000007

using namespace std;

int main() {
   int n = 1222333232; // given n
   int new_n = 0; // new number
   int po = 1; // will b multiple of ten for new digits
   int prev = -1; // previous digit
   int curr; // current digit
   while(n) {
      curr = n % 10;
      if(prev != curr) { // if a digit is not repeated then we go in this block
         new_n = new_n + (curr * po); // we add a new digit to new_n
         po *= 10;
         prev = curr;
      }
      n /= 10;
   }
   cout << new_n << "\n";
   return 0;
}

আউটপুট

123232

উপরের কোডের ব্যাখ্যা

উপরের পদ্ধতিতে, আমরা এখন কেবল n-এর অঙ্কগুলি অতিক্রম করছি যখন আমাদের পূর্ববর্তী অঙ্ক এবং বর্তমান অঙ্ক মেলে না, আমরা আমাদের নতুন সংখ্যাতে এই জাতীয় অঙ্ক যোগ করি এবং আমাদের অঙ্ক যোগ করার সাথে সাথে আমরা poও বৃদ্ধি করি, যা হল এখন আমাদের সংখ্যার অবস্থানের জন্য ব্যবহার করা হচ্ছে যদি আমাদের বর্তমান এবং পূর্ববর্তী সংখ্যাগুলি মিলে যায়-আমরা এই ব্লকটি চালাব না এবং আমাদের n 0 না হওয়া পর্যন্ত লুপ চালিয়ে যাব।

উপসংহার

এই নিবন্ধে, আমরা একটি প্রদত্ত সংখ্যার বারবার সংখ্যাগুলি সরানোর জন্য একটি সমস্যার সমাধান করি৷ আমরা এই সমস্যার জন্য C++ প্রোগ্রাম এবং সম্পূর্ণ পদ্ধতি (সাধারণ) শিখেছি যার মাধ্যমে আমরা এই সমস্যার সমাধান করেছি। আমরা অন্যান্য ভাষা যেমন সি, জাভা, পাইথন এবং অন্যান্য ভাষায় একই প্রোগ্রাম লিখতে পারি। আমরা আশা করি আপনার এই নিবন্ধটি সহায়ক হবে৷


  1. C++ এ ন্যূনতম সংখ্যক প্রদত্ত ক্রিয়াকলাপ ব্যবহার করে একটি সংখ্যা m কে n এ রূপান্তর করুন

  2. C++ এ প্রদত্ত সংখ্যার সেট বিট ব্যবহার করে ন্যূনতম সংখ্যা

  3. C++ এ একটি প্রদত্ত সংখ্যার সংখ্যা ব্যবহার করে তৈরি করা যেতে পারে এমন সর্বাধিক সংখ্যা খুঁজুন

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