কম্পিউটার

n-এর পারমুটেশন খুঁজুন যা 3 দ্বারা বিভাজ্য কিন্তু C++ এ 6 দ্বারা বিভাজ্য নয়


ধরুন আমাদের একটি সংখ্যা n আছে, এবং আমাদের এই সংখ্যাটির স্থানান্তর খুঁজে বের করতে হবে, যেটি 3 দ্বারা বিভাজ্য, কিন্তু 6 দ্বারা বিভাজ্য নয়। যদি এমন কোনো মান তৈরি করা না যায়, তাহলে -1 দিন। উদাহরণস্বরূপ, যদি n 336 হয়, তাহলে আউটপুট 363 হতে পারে।

আমরা জানি যে একটি সংখ্যা 6 দ্বারা বিভাজ্য মানে এটি 3 এবং 2 দ্বারা বিভাজ্য। সুতরাং 3 দ্বারা বিভাজ্য প্রতিটি জোড় সংখ্যা 6 দ্বারা বিভাজ্য হবে। যদি আমরা একটি সংখ্যার অঙ্কগুলিকে 3 দ্বারা বিভাজ্য এবং জোড় পরিবর্তন করি , এটি বিজোড় করতে, এটি ফলাফল হবে।

উদাহরণ

#include<iostream>
#include<cmath>
using namespace std;
int findNumber(int n) {
   int digit_count = ceil(log10(n));
   for (int i = 0; i < digit_count; i++) {
      if (n % 2 != 0) {
         return n;
      } else {
         n = (n / 10) + (n % 10) * pow(10, digit_count - i - 1);
         continue;
      }
   }
   return -1;
}
int main() {
   int n = 132;
   cout <<"The permutation of "<<n << " that is divisible by 3 but not by 6 is:"<< findNumber(n);
}

আউটপুট

The permutation of 132 that is divisible by 3 but not by 6 is:213

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

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

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

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