Cod sursa(job #1840978)

Utilizator radu.bRadu Brumariu radu.b Data 5 ianuarie 2017 00:28:08
Problema Ciurul lui Eratosthenes Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.53 kb
#include<stdio.h>
#include<stdbool.h>

int main(void) {
    freopen("ciur.in", "r", stdin);
    freopen("ciur.out", "w", stdout);

    int N;
    int primes = 0;
    scanf("%d", &N);
    bool numbers[N];
    for(int i = 2; i <= N; i++){
        numbers[i] = true;
    }

    int i = 2;
    while(i<=N) {
        if(numbers[i]) {
            ++primes;
            for(int j=i*2;j<=N;j+=i) {
                numbers[j]=false;
            }
        }
        i++;
        while(!numbers[i]) i++;
    }

    printf("%d\n", primes);
    return 0;
}