কম্পিউটার

C++ প্রোগ্রামে একটি বড় সংখ্যার জন্য 12 দ্বারা বিভাজ্যতা


এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখতে যাচ্ছি যেটি স্ট্রিং ফরম্যাটে প্রদত্ত বড় সংখ্যাটি 12 দ্বারা বিভাজ্য কিনা তা পরীক্ষা করে।

আমরা এই সমস্যা সমাধানের জন্য একটু গণিত ব্যবহার করতে যাচ্ছি। যদি সংখ্যাটি 3 এবং 4 দ্বারা বিভাজ্য হয়, তাহলে সংখ্যাটি 12 দ্বারা বিভাজ্য হবে৷

একটি সংখ্যা 3 দ্বারা বিভাজ্য যদি এর অঙ্কগুলির যোগফল 3 দ্বারা বিভাজ্য হয়৷

একটি সংখ্যা 4 দ্বারা বিভাজ্য যদি সংখ্যাটির শেষ দুটি সংখ্যা 4 দ্বারা বিভাজ্য হয়।

আমরা উপরের বিবৃতিগুলি ব্যবহার করতে যাচ্ছি এবং প্রোগ্রামটি সম্পূর্ণ করতে যাচ্ছি।

উদাহরণ

আসুন কোডটি দেখি।

#include <bits/stdc++.h>
using namespace std;
bool isNumberDivisibleBy12(string num) {
   if (num.length() >= 3) {
      int last_digit = (int)num[num.length() - 1];
      if (last_digit % 2 != 0) {
         return 0;
      }
      int second_last_digit = (int)num[num.length() - 2];
      int sum = 0;
      for (int i = 0; i < num.length(); i++) {
         sum += num[i];
      }
      return (sum % 3 == 0 && (second_last_digit * 10 + last_digit) % 4 == 0);
   }
   else {
      int number_as_int = stoi(num);
      return number_as_int % 12 == 0;
   }
}
int main() {
   string num = "1212121212121212121212121212";
   if (isNumberDivisibleBy12(num)) {
      cout << "Yes" << endl;
   }
   else {
      cout << "No" << endl;
   }
   return 0;
}

আউটপুট

আপনি যদি উপরের প্রোগ্রামটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।

Yes

উপসংহার

টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।


  1. দ্বিখণ্ডন পদ্ধতির জন্য C++ প্রোগ্রাম

  2. হেক্সাডেসিমেল থেকে দশমিকের জন্য C++ প্রোগ্রাম

  3. C++ এ দশমিক থেকে হেক্সাডেসিমেল রূপান্তরের জন্য প্রোগ্রাম

  4. C++ এ দশমিক থেকে বাইনারি রূপান্তরের জন্য প্রোগ্রাম