Cerinţa
Să se scrie un program care citește două numere naturale a
și b
și determină câte numere prime sunt în intervalul închis determinat de a
și b
.
Date de intrare
Programul citește de la tastatură numerele a
și b
.
Date de ieşire
Programul afișează pe ecran numărul n
, reprezentând numărul de numere prime din intervalul închis determinat de a
și b
.
Restricţii şi precizări
0 < a, b < 100.000
- numerele citite nu respectă obligatoriu relația
a ≤ b
- un număr natural este prim dacă are exact doi divizori distincți:
1
și el însuși.
Exemplu
Intrare
10 20
Ieșire
4
Explicație
în intervalul [10,20]
sunt 4
numere prime: 11
, 13
, 17
, 19
.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema PrimeInterval:
#include <iostream>
using namespace std;
int main(){
int x , y;
//citim numerele
cin >> x >> y;
//ordonam cele doua numere
if(x>y)
{
//interschimbare
int aux = x;
x = y;
y = aux;
}
//initializam contorul cu zero
int nrp = 0;
//parcurgem intevalul [x,y]
for(int i = x ; i <= y; i++){
//verificam daca i este prim
//peresupunem ca este prim
int prim = 1;
//0 si 1 nu sunt prime
if(i<2)
prim = 0;
//numerele pare mai mari decat 2 nu sunt prime
if(i % 2 == 0 && i > 2)
prim = 0;
//cautam un divizor impar
for(int d = 3; d * d <= i && prim == 1 ; d ++)
if(i % d == 0) // daca il gasim
prim = 0; //i nu este prim
//daca numarul este prim, marim contorul
if(prim == 1)
nrp ++;
}
//afisam contorul
cout << nrp;
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #44 PrimeInterval
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #44 PrimeInterval de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!