আমাদের একটি সংখ্যা n দেওয়া হয়েছে, আমাদের নিকটতম মৌলিক সংখ্যাটি খুঁজে বের করতে হবে যা n-এর চেয়ে কম। যদি আমরা n - 1 থেকে পরীক্ষা করা শুরু করি তাহলে আমরা সহজেই সংখ্যাটি খুঁজে পেতে পারি। আসুন কিছু উদাহরণ দেখি।
ইনপুট
10
আউটপুট
7
অ্যালগরিদম
- সংখ্যা n শুরু করুন।
- একটি লুপ লিখুন যা n - 1 থেকে 1
- পর্যন্ত পুনরাবৃত্তি করে
- আপনার পাওয়া প্রথম মৌলিক সংখ্যাটি ফেরত দিন
- প্রদত্ত n এর চেয়ে কম প্রাইম না পেলে -1 রিটার্ন করুন
বাস্তবায়ন
C++
-এ উপরের অ্যালগরিদমের বাস্তবায়ন নিচে দেওয়া হল#include <bits/stdc++.h>
using namespace std;
bool isPrime(int n) {
if (n == 2) {
return true;
}
for (int i = 2; i <= ceil(sqrt(n)); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int getNearestPrimeNumber(int n) {
for (int i = n - 1; i > 1; i--) {
if (isPrime(i)) {
return i;
}
}
return -1;
}
int main() {
int n = 20;
cout << getNearestPrimeNumber(n) << endl;
return 0;
} আউটপুট
আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।
19