ধরুন দুটি সংখ্যা আছে। একটি সংখ্যা মৌলিক গুণনীয়ক বা দ্বিতীয় সংখ্যা দ্বারা বিভাজ্য কিনা তা আমাদের পরীক্ষা করতে হবে। ধরুন একটি সংখ্যা হল 120৷ মৌলিক গুণনীয়কগুলি হল {2, 3, 5}, আরেকটি সংখ্যা হল 75, এখানে মৌলিক গুণনীয়কগুলি হল {3, 5}৷ যেহেতু 120 3 এবং 5 দ্বারা বিভাজ্য, তাই সিদ্ধান্ত হল হ্যাঁ৷
যদি একটি সংখ্যা 1 হয়, তাহলে এর কোন মৌলিক ভাজক নেই, তাই উত্তরটি সত্য। অন্যথায় আমাদের এই দুটি সংখ্যার GCD খুঁজে বের করতে হবে। যদি GCD 1 হয়, তাহলে তারা সহ-প্রধান। তাই উত্তর মিথ্যা। যদি GCD> 1 হয়, তাহলে GCD-এ মৌলিক ভাজক থাকে, যা xকেও ভাগ করে (x প্রথম সংখ্যা হিসেবে)। যদি আমাদের সকলের অনন্য মৌলিক ভাজক থাকে তাহলে দ্বিতীয় সংখ্যা y/GCD-এর এমন অনন্য মৌলিক ভাজক থাকে। আমাদের আবৃত্তি ব্যবহার করে জোড়ার (x, y/GCD) জন্য স্বতন্ত্রতা খুঁজে বের করতে হবে।
উদাহরণ
#include <iostream> #include <algorithm> using namespace std; bool isDivisible(int a, int b) { if (b == 1) return true; int gcd = __gcd(a, b); if (gcd == 1) return false; return isDivisible(a, b / gcd); } int main() { int a = 120, b = 75; if (isDivisible(a, b)) cout << a << " can be divisible by all prime factors of " << b; else cout << a << " can NOT be divisible by all prime factors of " << b; }এর সমস্ত মৌলিক গুণনীয়ক দ্বারা বিভাজ্য হতে পারে না
আউটপুট
120 can be divisible by all prime factors of 75