Pagini recente » Cod sursa (job #2250713) | Cod sursa (job #2694086) | Cod sursa (job #2567096) | Cod sursa (job #2657013) | Cod sursa (job #2919317)
// ALEX ENACHE
//#include <iostream> //de decomentat daca se citeste si afiseaza de la tastatura
#include <fstream> //de comentat in acest caz
using namespace std;
//ifstream cin("input"); ofstream cout("output"); //de comentat in acest caz
ifstream cin("ciur.in"); ofstream cout("ciur.out");
bool ciur[2000005];
//array global de marime 2000005 care contine bool-uri (initializate cu 0 adica false)
int main()
{
/*
break; -> intr-un for / while o sa opreasca de tot acest loop
continue; -> intr-un for / while o sa opreasca pasul curent si o sa treaca la urmatorul pas
return 0; -> in functia main o sa opreasca programul
exit(0); -> oriunde ar fi, daca se ajunge aici programul o sa fie oprit
*/
/*
// https://www.pbinfo.ro/probleme/3663/ppdp
// Varianta 1
int n;
cin >> n;
int patrat;
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
patrat = i * i;
break;
}
}
cout << patrat;
*/
/*
// https://www.pbinfo.ro/probleme/3663/ppdp
// Varianta 2
int n;
cin >> n;
int patrat;
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
cout << i * i;
return 0;
}
}
*/
/*
//EXEMPLU continue; -> afiseaza doar numere impare
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
if (i % 2 == 0) {
continue;
}
cout << i << " ";
}
*/
//CIUR
int n;
cin >> n;
int cont = 0;
for (int i = 2; i <= n; i++) {
if (ciur[i] == 0) { //i este prim
cont++;
for (int j = i + i; j <= n; j += i) { //facem toti multiplii lor sa aibe valoare ciur[j] egala cu 1
ciur[j] = 1; //j nu este prim
}
}
}
cout << cont << '\n';
}