Cod sursa(job #2075922)
| Utilizator | Data | 25 noiembrie 2017 20:47:38 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | dopaj_maxim | Marime | 0.57 kb |
#include<stdio.h>
#define MAXN 2000000
void ciur(int N);
FILE*fin,*fout;
bool marked[MAXN+1];
long long cnt=0;
int main()
{
fin=fopen("ciur.in","r");
fout=fopen("ciur.out","w");
int N;
fscanf(fin,"%d",&N);
ciur(N);
fprintf(fout,"%lld",cnt);
fclose(fin);
fclose(fout);
}
void ciur(int N)
{
marked[0]=1;
marked[1]=1;
for(int i=2;i<=N;i++)
{
if(!marked[i])
{
cnt++;
for(int j=i*i;j<=N;j+=i)
{
marked[j]=1;
}
}
}
}
