Cod sursa(job #758616)
| Utilizator | Data | 16 iunie 2012 10:35:29 | |
|---|---|---|---|
| Problema | Ciurul lui Eratosthenes | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.45 kb |
#include <stdio.h>
int ciur(int n)
{
bool *a = new bool[n+1];
for(int k = 0; k<=n; k++)
{
a[k] = false;
}
int noprime = 0;
int i,j;
for(i = 2; i<=n; i++)
{
if(a[i] == false)
{
noprime ++;
for(j = i*2; j<=n; j+=i)
a[j] = true;
}
}
delete [] a;
return noprime;
}
int main()
{
FILE *f = fopen("ciur.in","r");
FILE* g = fopen("ciur.out","w");
int n;
fscanf(f,"%d",&n);
fprintf(g,"%d",ciur(n));
}