Pagini recente » Cod sursa (job #459811) | Cod sursa (job #368661) | Cod sursa (job #198677) | Cod sursa (job #869706) | Cod sursa (job #982176)
Cod sursa(job #982176)
//Ciurului lui Erathostene,complexitate O(n log log n)
#include<fstream>
using namespace std;
#define MAX_N 2000000
fstream f("ciur.in",ios::in); //fisier de intrare
fstream g("ciur.out",ios::out); //fisier de iesire
int main()
{
int n,nr,i,j;
bool v[MAX_N];
f>>n; //citire numarul pana la care aplic algoritmul
f.close(); //inchidere fisier de intrare
//v[i]=1 - i prim
//v[i]=0 - i compus
for(i=2; i<=n; i++)
v[i]=1; //presupun ca toate sunt prime pana la n
for(i=2; i<=n; i++)
if(v[i]==1) //daca i este prim
{
nr++;
for(j=i+i; j<=n; j+=i) //fiecare multiplu de i este compus
v[j]=0;
}
g<<nr; //scriere solutie
g.close(); //inchidere fisier de iesire
return 0;
}