Afisati primele n perechi de numere prime'consecutive pe multirnea numerelor
impare. Exemplu: pentru n=3 se va afisa (3,5), (5,7) (11,13). Un cod de clasa a 9 ca sa il pot intelege.
Răspunsuri la întrebare
Buna!
Ai rezolvarea mai jos in C++
#include <iostream>
using namespace std;
int main() {
int n, cnt = 1, a = 0, b;
bool prim;
cin >> n;
for (int i = 1; cnt <= n; i += 2) { //i += 2 pentru a merge doar prin numerele impare
//Verificam daca i este prim
prim = true;
if (i <= 1) { //Niciun numar mai mic sau egal cu 1 nu este prim
prim = false;
}
else if (i != 2 && i % 2 == 0) { //Niciun numar par nu este prim, in afara de 2
prim = false;
}
if (prim) {
for (int j = 3; j * j <= i && prim; j += 2) { //Daca numarul are cel putin 1 divizor (mergem doar pe divizorii impari, pt ca am verificat deja daca numarul este par sau nu)
if (i % j == 0) {
prim = false;
}
}
}
if (prim) {
//Daca prim este true inseamna ca am gasit un numar prim impar
if (a == 0) {
a = i;
}
else {
b = i;
cout << "(" << a << "," << b << "), ";
cnt++;
a = 0;
}
}
}
return 0;
}
- Ti-am lasat explicatii sub forma de comentarii in cod.