এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখতে যাচ্ছি যা প্রদত্ত নম্বরটি k-rough কিনা তা পরীক্ষা করে। অথবা কে-জ্যাগড সংখ্যা বা না।
যে সংখ্যার ক্ষুদ্রতম মৌলিক গুণনীয়ক প্রদত্ত k-এর চেয়ে বড় বা সমান, তাকে k-rough বলে অথবা কে-জ্যাগড সংখ্যা।
আসুন সমস্যা সমাধানের পদক্ষেপগুলি দেখি৷
৷- সংখ্যা শুরু করুন n এবং k .
- সব মৌলিক সংখ্যা খুঁজুন যেগুলি n এর গুণনীয়ক এবং সেগুলিকে একটি ভেক্টরে সংরক্ষণ করুন৷
- ভেক্টর থেকে প্রথম উপাদানটি পান এবং k এর সাথে তুলনা করুন n কিনা তা পরীক্ষা করতে হল k-rough অথবা কে-জ্যাগড সংখ্যা বা না।
উদাহরণ
আসুন কোডটি দেখি।
#include <bits/stdc++.h>
using namespace std;
bool isPrime(int n) {
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
vector<int> getPrimes(int n) {
vector<int> primes;
for (int i = 2; i < n; i++) {
if (n % i == 0 && isPrime(i)) {
primes.push_back(i);
}
}
return primes;
}
bool isRoughNumber(int n, int k) {
vector<int> primes = getPrimes(n);
return primes[0] >= k;
}
int main() {
int n = 75, k = 3;
if (isRoughNumber(n, k)) {
cout << n << " is a " << k << " rough number" << endl;
}else {
cout << n << " is not a " << k << " rough number" << endl;
}
return 0;
} আউটপুট
আপনি যদি উপরের প্রোগ্রামটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।
75 is a 3 rough number
উপসংহার
আপনি ভেক্টরে সমস্ত মৌলিক সংখ্যা সংরক্ষণ এড়াতে পারেন। এবং n এর প্রথম মৌলিক গুণনীয়ক খুঁজুন এবং k এর সাথে তুলনা করুন পছন্দসই আউটপুট পেতে। কম স্থান এবং সময়ের জটিলতার সাথে উপরের ধারণাটি বাস্তবায়ন করুন।
টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।