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