কম্পিউটার

C++ এ একটি নম্বর গোলমাল হয়েছে কিনা তা পরীক্ষা করুন


এখানে আমরা একটি আকর্ষণীয় সমস্যা দেখতে পাব যে একটি সংখ্যা এলোমেলো হয়েছে কিনা। একটি সংখ্যাকে এলোমেলো বলা হয় যদি, প্রতিটি অঙ্কের জন্য, এটির প্রতিবেশী সংখ্যা সর্বোচ্চ 1 দ্বারা পৃথক হয়। উদাহরণস্বরূপ, একটি সংখ্যা 1223 এলোমেলো করা হয়, কিন্তু 1256 এলোমেলো হয় না।

এই সমস্যাটি সমাধান করার জন্য, আমাদের পরীক্ষা করতে হবে যে একটি সংখ্যার প্রতিবেশী আছে কিনা যার পার্থক্য 1-এর চেয়ে বেশি। যদি এই সংখ্যাটি পাওয়া যায়, তাহলে মিথ্যা দিন, অন্যথায় সত্য।

উদাহরণ

#include <iostream>
#include <cmath>
using namespace std;
bool isJumbled(int number) {
   if (number / 10 == 0) //for single digit number is is always jumbled
      return true;
   while (number != 0) {
      if (number / 10 == 0) //when all digits have checked, return true
         return true;
      int curr_digit = number % 10;
      int prev_digit = (number / 10) % 10;
      if (abs(prev_digit - curr_digit) > 1)
         return false;
      number = number / 10;
   }
   return true;
}
int main() {
   int n = 1223;
   if(isJumbled(n)){
      cout << n << " is Jumbled";
   } else {
      cout << n << " is not Jumbled";
   }
}

আউটপুট

1223 is Jumbled

  1. একটি বড় সংখ্যা 3 দ্বারা বিভাজ্য বা C++ এ নয় তা পরীক্ষা করুন

  2. একটি বড় সংখ্যা 25 দ্বারা বিভাজ্য বা C++ এ নয় তা পরীক্ষা করুন

  3. একটি বড় সংখ্যা 2, 3 এবং 5 দ্বারা বিভাজ্য বা C++ এ নয় তা পরীক্ষা করুন

  4. একটি বড় সংখ্যা 11 দ্বারা বিভাজ্য বা C++ এ নয় তা পরীক্ষা করুন