সংখ্যার একটি পরিসীমা সংজ্ঞায়িত করার জন্য আমাদেরকে START এবং END দুটি সংখ্যা দেওয়া হয়েছে। লক্ষ্য হল সেই সংখ্যাগুলি খুঁজে বের করা যেগুলির মৌলিক গুণনীয়ক হিসাবে শুধুমাত্র 2 এবং 3 আছে এবং [START,END] পরিসরে রয়েছে৷
আমরা START থেকে END পর্যন্ত সংখ্যাগুলি অতিক্রম করে এটি করব এবং প্রতিটি সংখ্যার জন্য আমরা পরীক্ষা করব যে সংখ্যাটি শুধুমাত্র 2 এবং 3 দ্বারা বিভাজ্য কিনা। বিভাজ্য হলে ভাগ করে কমিয়ে দিন। যদি না হয়, লুপ ভেঙ্গে. শেষ পর্যন্ত যদি সংখ্যাটি 1 তে কমে যায় তবে এটির গুণনীয়ক হিসাবে শুধুমাত্র 2 এবং 3 থাকে৷
উদাহরণ দিয়ে বোঝা যাক।
ইনপুট
START=20 END=25
আউটপুট
প্রধান গুণনীয়ক হিসেবে শুধুমাত্র 2 এবং 3 সহ সংখ্যা:1
ব্যাখ্যা
প্রত্যেক সংখ্যার প্রাইম ফ্যাক্টর:20 =2*2*521 =3*722 =2*1123 =1*2324 =2*2*2*325 =5*5 শুধুমাত্র 24 এর 2 এবং 3 মৌলিক গুণনীয়ক হিসেবে আছে।প্রে>ইনপুট
START=1000 END=1500আউটপুট
প্রধান গুণনীয়ক হিসাবে শুধুমাত্র 2 এবং 3 সহ সংখ্যা:4ব্যাখ্যা
1024 1152 1296 1458 হল মৌলিক গুণনীয়ক হিসাবে শুধুমাত্র 2 এবং 3 সহ সংখ্যাগুলিনিচের প্রোগ্রামে ব্যবহৃত পদ্ধতিটি নিম্নরূপ
-
আমরা পরিসীমা ভেরিয়েবল হিসাবে একটি পূর্ণসংখ্যা START এবং END নিই।
-
ফাংশন TwothreeFactors(int start, int end) রেঞ্জ ভেরিয়েবল নেয় এবং শুধুমাত্র মৌলিক ফ্যাক্টর হিসাবে 2 এবং 3 সহ সংখ্যার গণনা প্রদান করে।
-
এই ধরনের সংখ্যার জন্য প্রাথমিক পরিবর্তনশীল গণনা 0 হিসাবে নিন।
-
লুপ ব্যবহার করে সংখ্যার সীমা অতিক্রম করে। i=start to i=end
-
এখন প্রতিটি সংখ্যার জন্য num=i, while loop ব্যবহার করে num%2==0 কিনা চেক করুন, ভাগ করুন।
-
যদি num%3==0 হয়, এটাকে ভাগ করুন। যদি উভয় দ্বারা না হয় সময় লুপ বিরতি
-
যদি while লুপের পরে 1 হয় তাহলে কাউন্ট বাড়ান।
-
সমস্ত লুপ গণনার শেষে মোট সংখ্যা থাকবে যার মৌলিক গুণনীয়ক হিসাবে শুধুমাত্র 2 এবং 4 আছে।
-
ফলাফল হিসাবে গণনা ফেরত দিন।
উদাহরণ
#includeনেমস্পেস ব্যবহার করে std;int twothreeFactors(int start, int end){ // 2 দিয়ে শুরু করুন যাতে 1 গণনা না হয় যদি (start ==1) { start++; } int count =0; for (int i =start; i <=end; i++) { int num =i; while(num>1){ // যদি 2 দ্বারা বিভাজ্য হয়, এটিকে 2 দ্বারা ভাগ করুন if(num % 2 ==0) { num /=2; } // 3 দ্বারা বিভাজ্য হলে, 3 দিয়ে ভাগ করুন অন্য যদি (সংখ্যা % 3 ==0) { সংখ্যা /=3; } else // যদি 2 বা 3 দ্বারা বিভাজ্য না হয় { break; } } // মানে শুধুমাত্র 2 এবং 3 হল সংখ্যার গুণনীয়ক যদি (সংখ্যা ==1) { count++; } } রিটার্ন গণনা;} int main(){ int START =10, END =20; cout <<"প্রধান গুণনীয়ক হিসাবে শুধুমাত্র 2 এবং 3 সহ সংখ্যা:"< আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেপ্রধান গুণনীয়ক হিসেবে শুধুমাত্র 2 এবং 3 সহ সংখ্যা:3