Să se afişeze numerele prime imediat vecine unui număr n (numerele a şi b care îndeplinesc condifile, a şi b sunt numere prime, asnsb şi diferenta b-a este minima. 10
#include <iostream>
using namespace std;
int main() {
int n;
cout << „Introduceti un numar: „;
cin >> n;
// Cautam numere prime imediat vecine in ambele directii
int a = n – 1;
while (a > 1) {
int este_prim = 1;
for (int i = 2; i <= a / 2; i++) {
if (a % i == 0) {
este_prim = 0;
break;
}
}
if (este_prim) {
break;
}
a–;
}
int b = n + 1;
while (1) {
int este_prim = 1;
for (int i = 2; i <= b / 2; i++) {
if (b % i == 0) {
este_prim = 0;
break;
}
}
if (este_prim) {
break;
}
b++;
}
// Afisam cele doua numere prime imediat vecine
cout << „Numerele prime imediat vecine cu ” << n << ” sunt: ” << a << ” si ” << b << endl;
return 0;
}
În acest program, am inițializat două variabile a
și b
cu valorile n-1
și n+1
, respectiv, și apoi am căutat numerele prime imediat vecine în ambele direcții prin verificarea fiecărui număr de la a
la 2
în cazul lui a
, respectiv de la b
la infinit în cazul lui b
. Când am găsit un număr prim, am ieșit din bucla de căutare și am afișat cele două numere prime găsite.
În acest caz, am folosit valoarea 1
pentru a reprezenta că un număr este prim și 0
pentru a reprezenta că un număr nu este prim.