Cod sursa(job #1280751)
Utilizator | Data | 2 decembrie 2014 13:44:31 | |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include <stdio.h>
char sieve[2000001];
int main () {
freopen("ciur.in", "r", stdin);
freopen("ciur.out", "w", stdout);
long long n, i, j; scanf("%lld", &n);
long long k = 0;
for(i = 2; i <= n; i++) sieve[i] = 1;
for(i = 2; i <= n; i++)
if(sieve[i] == 1) {
k++;
for(j = i * i; j <= n; j+=i)
sieve[j] = 0;
}
printf("%lld", k);
return 0;
}