কম্পিউটার

C++ এ রিফ্যাক্টরযোগ্য সংখ্যা


আমরা একটি পূর্ণসংখ্যা টাইপ মান দেওয়া হয়, ধরা যাক, সংখ্যা. কাজ হল প্রদত্ত নম্বরটি রিফ্যাক্টরযোগ্য কি না তা পরীক্ষা করা। যদি হ্যাঁ প্রিন্ট করুন যে সংখ্যাটি একটি রিফ্যাক্টরযোগ্য সংখ্যা অন্যথায় প্রিন্ট করা সম্ভব নয়।

রিফ্যাক্টরেবল সংখ্যা কি?

একটি সংখ্যা রিফ্যাক্টরযোগ্য হয় যখন এটি উপলব্ধ উপাদানগুলির মোট গণনা দ্বারা বিভাজ্য হয়। উদাহরণস্বরূপ, সংখ্যা 9 রিফ্যাক্টরযোগ্য কারণ এতে মোট সংখ্যক গুণনীয়ক রয়েছে যেমন 3(1, 3, 9) এবং 9 3 দ্বারা বিভাজ্য তাই এটি একটি রিফ্যাক্টরযোগ্য সংখ্যা৷

আসুন এর জন্য বিভিন্ন ইনপুট আউটপুট পরিস্থিতি দেখি -

ইনপুট − int সংখ্যা =9

আউটপুট - এটি একটি প্রতিকারযোগ্য সংখ্যা

ব্যাখ্যা − একটি সংখ্যা রিফ্যাক্টরযোগ্য হয় যখন এটি উপলব্ধ উপাদানগুলির মোট গণনা দ্বারা বিভাজ্য হয়। আমাদেরকে একটি সংখ্যা 9 দেওয়া হয়েছে, যেটি রিফ্যাক্টরযোগ্য কারণ এতে মোট সংখ্যক গুণনীয়ক রয়েছে যেমন 3(1, 3, 9) এবং 9 3 দ্বারা বিভাজ্য তাই এটি একটি রিফ্যাক্টরযোগ্য সংখ্যা৷

ইনপুট − int সংখ্যা =10

আউটপুট - এটি একটি রিফ্যাক্টরযোগ্য সংখ্যা নয়

ব্যাখ্যা − একটি সংখ্যা রিফ্যাক্টরযোগ্য হয় যখন এটি উপলব্ধ উপাদানগুলির মোট গণনা দ্বারা বিভাজ্য হয়। আমাদেরকে 10 নম্বর দেওয়া হয়েছে, যেটি রিফ্যাক্টরযোগ্য নয় কারণ এতে মোট ফ্যাক্টর রয়েছে যেমন 4(1, 2, 5, 10) এবং 10 4 দ্বারা বিভাজ্য নয় তাই এটি একটি রিফ্যাক্টরযোগ্য সংখ্যা নয়

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • পূর্ণসংখ্যার প্রকারের একটি ভেরিয়েবল ইনপুট করুন, ধরা যাক, সংখ্যা।

  • বুলের প্রকারের check_Refactorable(int number) ফাংশনে ডেটা পাস করুন।

  • ফাংশনের ভিতরে check_Refactorable(int number)

    • 0-তে গণনা হিসাবে একটি পূর্ণসংখ্যার ধরন পরিবর্তনশীল ঘোষণা করুন।

    • i থেকে 1 পর্যন্ত i sqrt(সংখ্যা) থেকে কম না হওয়া পর্যন্ত FOR লুপ শুরু করুন। লুপের ভিতরে, IF সংখ্যা % i =0 চেক করুন তারপর IF নম্বর / i =i চেক করুন তারপর গণনাটি 1 দ্বারা বৃদ্ধি করুন৷

    • অন্যথায়, গণনাটিকে গণনা + 2 হিসাবে সেট করুন।

    • রিটার্ন সংখ্যা % গণনা ==0

  • ফলাফল প্রিন্ট করুন।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
bool check_Refactorable(int number){
   int count = 0;
   for (int i = 1; i <= sqrt(number); ++i){
      if(number % i==0){
         if(number / i == i){
            ++count;
         }
         else{
            count += 2;
         }
      }
   }
   return number % count == 0;
}
int main(){
   int number = 9;
   if(check_Refactorable(number) == 1){
      cout<<"It is a Refactorable number";
   }
   else{
      cout<<"It isn't a Refactorable number";
   }
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট তৈরি করবে

It is a Refactorable number

  1. C++ এ মিতব্যয়ী নম্বর

  2. C++ পেন্টাটোপ নম্বর

  3. C++ এ ছিটমহলের সংখ্যা

  4. C++ এ অ্যাডাম নম্বর