ইউনিক প্রাইম ফ্যাক্টর হলো একটি নম্বরের ফ্যাক্টর যা নিজে প্রাইম নম্বর। এই সমস্যায়, আমাদের একটি নম্বরের সব ইউনিক প্রাইম ফ্যাক্টরগুলোর গুণফল বের করতে হবে। একটি প্রাইম নম্বর হলো এমন নম্বর য원의 শুধু দুটি ফ্যাক্টর থাকে: নম্বরটি এবং এক।
এখানে আমরা একটি নম্বরের ইউনিক প্রাইম ফ্যাক্টরগুলোর গুণফল বের করার সেরা পদ্ধতি খুঁজে বের করব। একটি উদাহরণ নেই, বিষয়টি পরিষ্কার করতে।
ধরুন একটি নম্বর আছে n = 1092, আমাদের এর ইউনিক প্রাইম ফ্যাক্টরগুলোর গুণফল বের করতে হবে। ১০৯২-এর প্রাইম ফ্যাক্টরগুলো হলো ২, ৩, ৭, ১৩ এবং তাদের গুণফল ৫৪৬।
২ এটি বের করার সহজ পদ্ধতি হচ্ছে নম্বরের সব ফ্যাক্টর বের করা এবং চেক করা ফ্যাক্টরটি প্রাইম নম্বর কিনা। যদি হয়, তবে সেটিকে গুণফল ভেরিয়েবলে গুণ করে যেতে হবে এবং প্রসেসটি n পর্যন্ত চালাতে হবে।
Input: n = 10 Output: 10
ব্যাখ্যা
এখানে, ইনপুট নম্বর ১০ যার শুধু ২টি প্রাইম ফ্যাক্টর আছে এবং সেগুলো হলো ৫ এবং ২।
তাদের গুণফল ১০।
i = 2 থেকে n পর্যন্ত লুপ চালিয়ে চেক করা হয় i নম্বরটির ফ্যাক্টর কিনা, তারপর চেক করা হয় i প্রাইম নম্বর কিনা, যদি হয় তবে গুণফল ভেরিয়েবলে স্টোর করা হয় এবং প্রসেসটি i = n পর্যন্ত চালানো হয়।
উদাহরণ
#include <iostream> using namespace std; int main() { int n = 10; long long int product = 1; for (int i = 2; i <= n; i++) { if (n % i == 0) { int isPrime = 1; for (int j = 2; j <= i / 2; j++) { if (i % j == 0) { isPrime = 0; break; } } if (isPrime) { product = product * i; } } } cout << product; return 0; }