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

C++-এ একটি নাম্বারের ডিজিট রিভার্স করার প্রোগ্রাম

একটি নাম্বারের ডিজিট রিভার্স করার প্রোগ্রাম ডিজিটগুলোর পজিশন ইন্টারচেঞ্জ করবে এবং তাদের অর্ডার রিভার্স করবে।

মান লইয়া যাক একটি নাম্বার abcde, এর রিভার্স হবে edcba।

একটি উদাহরণ দিয়ে সমস্যাটি বুঝতে পারি,

ইনপুট

n = 786521

আউটপুট

125687

নাম্বারের ডিজিট রিভার্স করতে, আমরা নাম্বারের প্রতিটি ডিজিট MSB (ইউনিট ডিজিট) থেকে নেব এবং রিভার্স নাম্বার ভেরিয়েবলে যোগ করব, এরপর অরিজিনাল নাম্বার ১০ দিয়ে ভাগ করব এবং রিভার্স_নাম্বার ১০ দিয়ে গুন করব। এটি নাম্বার ০ হওয়া পর্যন্ত চলবে।

এই রিপিটেটিভ প্রসেস দুটি মেথডে করা যায়, ইটেরেশন এবং রিকারশন, আমরা দুটি মেথড ইলাস্ট্রেট করার প্রোগ্রাম তৈরি করব।

উদাহরণ

মেথড ১: ইটেরেটিভ পদ্ধতি

#include <iostream>
using namespace std;

int reversDigitsIt(int n) {
    int reverseNumber = 0;
    while (n > 0) {
        reverseNumber = reverseNumber * 10 + n % 10;
        n /= 10;
    }
    return reverseNumber;
}

int main() {
    int n = 4562;
    cout << "The number is: " << n << endl;
    cout << "Reverse of number is " << reversDigitsIt(n);
    return 0;
}

আউটপুট

The number is: 4562
Reverse of number is 2654

উদাহরণ

মেথড ২: রিকারসিভ পদ্ধতি

#include <iostream>
using namespace std;

int reverseNumber = 0;
int numPos = 1;

void reversDigitsRec(int n) {
    if (n > 0) {
        reversDigitsRec(n / 10);
        reverseNumber += (n % 10) * numPos;
        numPos *= 10;
    }
}

int main() {
    int n = 4562;
    cout << "The number is: " << n << endl;
    reversDigitsRec(n);
    cout << "Reverse of number is " << reverseNumber;
    return 0;
}

আউটপুট

The number is: 4562
Reverse of number is 2654
  1. অ্যারে রিভার্স করার C প্রোগ্রাম

  2. সংখ্যার ঘাত (Power) বের করার C++ প্রোগ্রাম (রিকার্সিভ ও নন-রিকার্সিভ)

  3. C++ প্রোগ্রাম: সংখ্যা উল্টানো (Reverse a Number)

  4. পাইথন প্রোগ্রাম: দেওয়া সংখ্যা N-এ মোট কতটি ডিজিট (Digit) আছে তা গণনা করুন