একটি সংখ্যার অঙ্কগুলি বিপরীত করার একটি প্রোগ্রাম অঙ্কগুলির অবস্থান পরিবর্তন করবে এবং সেখানে ক্রম বিপরীত করবে৷
ধরা যাক একটি সংখ্যা abcde এর বিপরীতটি edcba হবে।
সমস্যাটি বোঝার জন্য একটি উদাহরণ দেওয়া যাক,
ইনপুট
n = 786521
আউটপুট
125687
সংখ্যাটির বিপরীত অঙ্কের জন্য, আমরা MSB(ইউনিট ডিজিট) থেকে সংখ্যাটির প্রতিটি সংখ্যা নেব এবং এটিকে বিপরীত সংখ্যার ভেরিয়েবলে যোগ করব, এর পরে আসল সংখ্যাটিকে 10 দ্বারা ভাগ করব এবং বিপরীত_সংখ্যাটিকে 10 দ্বারা গুণ করা হবে। এটি করা হবে যতক্ষণ না সংখ্যাটি 0 হয়ে যায়।
এই পুনরাবৃত্তিমূলক প্রক্রিয়াটি দুটি পদ্ধতি দ্বারা সম্পন্ন করা যেতে পারে, পুনরাবৃত্তি এবং পুনরাবৃত্তি, আমরা উভয় পদ্ধতিকে চিত্রিত করার জন্য একটি প্রোগ্রাম তৈরি করব।
উদাহরণ
পদ্ধতি 1:পুনরাবৃত্তিমূলক পদ্ধতি
#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
উদাহরণ
পদ্ধতি 2:পুনরাবৃত্তিমূলক পদ্ধতি
#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