Cod sursa(job #2759106)

Utilizator LucaMihaiLM10Luca Ilie LucaMihaiLM10 Data 15 iunie 2021 14:35:35
Problema Ciurul lui Eratosthenes Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.57 kb
#include <stdio.h>

#define MAX_N 2000000

char ciur[MAX_N + 1];

int main() {
    FILE *fin, *fout;
    int n, prime, i, j;

    fin = fopen( "ciur.in", "r" );
    fscanf( fin, "%d", &n );
    fclose( fin );

    for ( i = 2; i * i <= n; i++ ) {
        if ( ciur[i] == 0 ) {
            for ( j = i * i; j <= n; j += i )
                ciur[j] = 1;
        }
    }
    prime = 0;
    for ( i = 2; i <= n; i++ )
        prime += 1 - ciur[i];

    fout = fopen( "ciur.out", "w" );
    fprintf( fout, "%d", prime );
    fclose( fout );

    return 0;
}